次の方法で共有


XmlReader.ReadElementContentAsObject メソッド

定義

現在の要素を読み取り、内容を Objectとして返します。

オーバーロード

名前 説明
ReadElementContentAsObject()

現在の要素を読み取り、内容を Objectとして返します。

ReadElementContentAsObject(String, String)

指定したローカル名と名前空間 URI が現在の要素の URI と一致することを確認し、現在の要素を読み取り、内容を Objectとして返します。

ReadElementContentAsObject()

ソース:
XmlReader.cs
ソース:
XmlReader.cs
ソース:
XmlReader.cs
ソース:
XmlReader.cs
ソース:
XmlReader.cs

現在の要素を読み取り、内容を Objectとして返します。

public:
 virtual System::Object ^ ReadElementContentAsObject();
public virtual object ReadElementContentAsObject();
abstract member ReadElementContentAsObject : unit -> obj
override this.ReadElementContentAsObject : unit -> obj
Public Overridable Function ReadElementContentAsObject () As Object

返品

最も適切な型のボックス化された共通言語ランタイム (CLR) オブジェクト。 ValueTypeプロパティは、適切な CLR 型を決定します。 コンテンツがリスト型として型指定されている場合、このメソッドは、適切な型のボックス化されたオブジェクトの配列を返します。

例外

XmlReaderは要素上に配置されません。

-又は-

前の非同期操作が完了する前に、 XmlReader メソッドが呼び出されました。 この場合、"非同期操作は既に進行中です" というメッセージで InvalidOperationException がスローされます。

現在の要素には子要素が含まれています。

-又は-

要素の内容を要求された型に変換できません

このメソッドは、 null 引数を使用して呼び出されます。

次の例では、メソッドを使用して、 price ノードの内容を読み取ります。 リーダーはスキーマ内の情報を使用して、コンテンツを正しいデータ型にマップします。

// Create a validating reader.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas.Add("urn:items", "item.xsd");	
 XmlReader reader = XmlReader.Create("item.xml", settings);

// Get the CLR type of the price element.
reader.ReadToFollowing("price");
Console.WriteLine(reader.ValueType);

// Return the value of the price element as Decimal object.
Decimal price = (Decimal) reader.ReadElementContentAsObject();

// Add 2.50 to the price.
price = Decimal.Add(price, 2.50m);
' Create a validating reader.
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas.Add("urn:items", "item.xsd")
Dim reader As XmlReader = XmlReader.Create("item.xml", settings)
      
' Get the CLR type of the price element. 
reader.ReadToFollowing("price")
Console.WriteLine(reader.ValueType)
      
' Return the value of the price element as Decimal object.
Dim price As [Decimal] = CType(reader.ReadElementContentAsObject(), [Decimal])
      
' Add 2.50 to the price.
price = [Decimal].Add(price, 2.5D)

この例では、次の 2 つのファイルを入力として使用します。

item.xml

<item xmlns="urn:items" productID='123098'>
 <name>hammer</name>
 <price>9.95</price>
 <supplierID>1929</supplierID>
</item>

item.xsd

<?xml version="1.0"?>
<xs:schema xmlns:tns="urn:items" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:items" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="item">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="name" type="xs:string" />
        <xs:element name="price" type="xs:decimal" />
        <xs:element name="supplierID" type="xs:unsignedShort" />
      </xs:sequence>
      <xs:attribute name="productID" type="xs:unsignedInt" use="required" />
    </xs:complexType>
  </xs:element>
</xs:schema>

注釈

このメソッドは、開始タグ(要素の内容)を読み取り、リーダーを終了要素タグの後に移動します。 エンティティが展開され、処理命令とコメントは無視されます。 要素には単純なコンテンツのみを含めることができます。 つまり、子要素を持つことはできません。

詳細については、 XmlReader リファレンス ページの「解説」セクションと W3C XML スキーマ パート 2: データ型に関する 推奨事項を参照してください。

このメソッドの非同期バージョンについては、 ReadElementContentAsObjectAsyncを参照してください。

適用対象

ReadElementContentAsObject(String, String)

ソース:
XmlReader.cs
ソース:
XmlReader.cs
ソース:
XmlReader.cs
ソース:
XmlReader.cs
ソース:
XmlReader.cs

指定したローカル名と名前空間 URI が現在の要素の URI と一致することを確認し、現在の要素を読み取り、内容を Objectとして返します。

public:
 virtual System::Object ^ ReadElementContentAsObject(System::String ^ localName, System::String ^ namespaceURI);
public virtual object ReadElementContentAsObject(string localName, string namespaceURI);
abstract member ReadElementContentAsObject : string * string -> obj
override this.ReadElementContentAsObject : string * string -> obj
Public Overridable Function ReadElementContentAsObject (localName As String, namespaceURI As String) As Object

パラメーター

localName
String

要素のローカル名。

namespaceURI
String

要素の名前空間 URI。

返品

最も適切な型のボックス化された共通言語ランタイム (CLR) オブジェクト。 ValueTypeプロパティは、適切な CLR 型を決定します。 コンテンツがリスト型として型指定されている場合、このメソッドは、適切な型のボックス化されたオブジェクトの配列を返します。

例外

XmlReaderは要素上に配置されません。

-又は-

前の非同期操作が完了する前に、 XmlReader メソッドが呼び出されました。 この場合、"非同期操作は既に進行中です" というメッセージで InvalidOperationException がスローされます。

現在の要素には子要素が含まれています。

-又は-

要素の内容を要求された型に変換することはできません。

このメソッドは、 null 引数を使用して呼び出されます。

指定したローカル名と名前空間 URI が、読み取られる現在の要素の URI と一致しません。

注釈

このメソッドは、開始タグ(要素の内容)を読み取り、リーダーを終了要素タグの後に移動します。 エンティティが展開され、処理命令とコメントは無視されます。 要素には単純なコンテンツのみを含めることができます。 つまり、子要素を持つことはできません。

詳細については、 XmlReader リファレンス ページの「解説」セクションと W3C XML スキーマ パート 2: データ型に関する 推奨事項を参照してください。

適用対象