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>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

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

   

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



XmlReader.ReadContentAs メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS