XmlReader.ReadContentAs メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XmlReader.ReadContentAs メソッドの意味・解説 

XmlReader.ReadContentAs メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

指定された型のオブジェクトとして内容を読み取ります。

名前空間: System.Xml
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Public Overridable Function
 ReadContentAs ( _
    returnType As Type, _
    namespaceResolver As IXmlNamespaceResolver _
) As Object
Dim instance As XmlReader
Dim returnType As Type
Dim namespaceResolver As IXmlNamespaceResolver
Dim returnValue As Object

returnValue = instance.ReadContentAs(returnType, namespaceResolver)
public virtual Object ReadContentAs (
    Type returnType,
    IXmlNamespaceResolver namespaceResolver
)
public:
virtual Object^ ReadContentAs (
    Type^ returnType, 
    IXmlNamespaceResolver^ namespaceResolver
)
public Object ReadContentAs (
    Type returnType, 
    IXmlNamespaceResolver namespaceResolver
)
public function ReadContentAs (
    returnType : Type, 
    namespaceResolver : IXmlNamespaceResolver
) : Object

パラメータ

returnType

返される値の型。

namespaceResolver

型変換に関連する名前空間プリフィックスの解決に使用される IXmlNamespaceResolver オブジェクト。たとえば、XmlQualifiedName オブジェクトを xs:string に変換するときにこれを使用できます。

この値は、null 参照 (Visual Basic では Nothing) の場合もあります。

戻り値
要求された型に変換された、連結されたテキストの内容または属性値。

例外例外
例外の種類条件

FormatException

内容が、指定した型の正しい形式になっていません。

InvalidCastException

試行されたキャストが無効です。

ArgumentNullException

returnType 値が null 参照 (Visual Basic では Nothing) です。

InvalidOperationException

現在のノードは、サポートされているノード型ではありません。詳細については、次の表を参照してください。

解説解説

このメソッドは、現在のリーダーの位置にあるテキストの内容を読み取り、要求された戻り値の型に変換します。テキスト、空白、有意の空白、および CDATA セクションが連結されます。コメントと処理命令はスキップされ、エンティティ参照が自動的に解決されます。

このメソッドは、現在のノードの内容を読み取り、必要に応じて変換して、最小単位の値アイテムを返すために使用されます。入力の型と、現在のノードの型とのマッピングが有効な場合、現在のノードの値が格納された、対応する型のインスタンスが返されます。既定のマッピングの一覧については、「XML データ型から CLR 型へのマッピング」を参照してください。

たとえば、次の XML テキストがある場合を示します。

<elem>123 <!-- comment --> <?pi my_text?> 456 <?pi another_pi?></elem>

データが型指定され、文字列配列が ReadContentAs メソッド呼び出しに渡された場合、CLR 型との有効なマッピングに従って、文字列から整数値への変換が実行されます。

データが型指定されずに、文字列配列が ReadContentAs メソッド呼び出しに渡される場合は、内容が個別の文字列に解析されます。"123" と "456" の 2 つの値が格納された 1 つの配列が返されます。内容の空白は保存されません。

通常、型指定されていないデータを読み取ると、渡された型に従って内容が解析されます。たとえば、整数の配列が ReadContentAs メソッド呼び出しに渡されると、文字列が整数 {123,456} の配列に解析されます。

次の例では、XML テキストは空白で区切られていません。

<elem>123<!-- comment --><?pi my_text?>456789<?pi another_pi?></elem>

内容が型指定されずに、文字列配列が ReadContentAs メソッド呼び出しに渡される場合は、1 つに連結された文字列 "123456789" が格納された 1 つの配列が返されます。

このメソッドで各ノード型がどのように処理されるかについて、次の表に示します。

XmlNodeType

戻り値

リーダーの動作

Text

CDATA

Whitespace

SignificantWhitespace

EntityReference

EndEntity

連結されたテキストの内容、CDATA、空白、および要求された型に変換された有意な空白ノード。

次の開始要素タグまたは終了要素タグに移動します。エンティティ参照は自動的に展開されます。

Attribute

属性値による XmlConvert.ToXxx の呼び出しと同じ。

リーダーは、現在の位置から変わりません。

Comment

ProcessingInstruction

処理命令 (PI) またはコメントを無視し、PI またはコメントに続く、連結されたテキストの内容を読み込みます。

次の開始要素タグまたは終了要素タグに移動します。エンティティ参照は自動的に展開されます。

EndElement

空の文字列。

リーダーは、現在の位置から変わりません。

Element

XmlDeclaration

None

Document

DocumentType

Notation

Entity

DocumentFragment

InvalidOperationException がスローされます。

未定義。ただし、リーダー (読み取り機能) は現在の位置にとどまるのが一般的です。

詳細については、「型指定されたデータの読み取り」および W3C 勧告『XML Schema Part 2: Datatypes』(http://www.w3.org/TR/xmlschema-2/) を参照してください。

使用例使用例

ReadContentAs メソッドを使用して colors 要素の内容を文字列オブジェクトの配列に返す例を次に示します。

Using reader As XmlReader = XmlReader.Create("dataFile_2.xml")

  reader.ReadToDescendant("item")
              
  reader.MoveToAttribute("colors")
  Dim colors As String()
 = CType(reader.ReadContentAs(GetType(String()),
 Nothing), String())
  Dim color As String
  For Each color In  colors
    Console.WriteLine("Colors: {0}", color)
  Next color
          
End Using
using (XmlReader reader = XmlReader.Create("dataFile_2.xml"))
 {
      reader.ReadToDescendant("item");

      reader.MoveToAttribute("colors");
      string[] colors = (string[]) reader.ReadContentAs(typeof(string[])
,null);
      foreach (string color in
 colors) {
         Console.WriteLine("Colors: {0}", color);
      }                     
}

この例では、入力として、dataFile_2.xml というファイルを使用しています。

<root>
  <item sale-item='true' productID='123456'
 colors='blue green black'>
    <price>9.95</price>
  </item>
  <item sale-item='false' productID='124390'>
    <price>5.95</price>
  </item>
  <item sale-item='true' productID='53298'>
    <price>12.95</price>
  </item>
</root>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

XmlReader.ReadContentAs メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



XmlReader.ReadContentAs メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS