XmlReader.ReadElementContentAsObject XmlReader.ReadElementContentAsObject XmlReader.ReadElementContentAsObject XmlReader.ReadElementContentAsObject Method

定義

現在の要素を読み取り、そのコンテンツを Object として返します。Reads the current element and returns the contents as an Object.

オーバーロード

ReadElementContentAsObject() ReadElementContentAsObject() ReadElementContentAsObject() ReadElementContentAsObject()

現在の要素を読み取り、そのコンテンツを Object として返します。Reads the current element and returns the contents as an Object.

ReadElementContentAsObject(String, String) ReadElementContentAsObject(String, String) ReadElementContentAsObject(String, String) ReadElementContentAsObject(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを Object として返します。Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as an Object.

ReadElementContentAsObject() ReadElementContentAsObject() ReadElementContentAsObject() ReadElementContentAsObject()

現在の要素を読み取り、そのコンテンツを Object として返します。Reads the current element and returns the contents as an 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) オブジェクト。A boxed common language runtime (CLR) object of the most appropriate type. ValueType プロパティは、適切な CLR 型を判断します。The ValueType property determines the appropriate CLR type. 内容がリスト型として型指定されている場合、このメソッドは適切な型のボックス化されたオブジェクトの配列を返します。If the content is typed as a list type, this method returns an array of boxed objects of the appropriate type.

例外

XmlReader が要素に配置されません。The XmlReader is not positioned on an element.

または-or- 先行の非同期操作が完了する前に、XmlReader メソッドが呼び出されました。An XmlReader method was called before a previous asynchronous operation finished. この場合、「非同期操作が既に実行されています」というメッセージと共に InvalidOperationException がスローされます。In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

現在の要素には、子要素が含まれています。The current element contains child elements.

- または --or-

要素のコンテンツを要求された型に変換できません。The element content cannot be converted to the requested type

引数に null を渡してメソッドが呼び出されました。The method is called with null arguments.

次の例では、メソッドを使用して、 priceノードのコンテンツを読み取ります。The following example uses the method to read the content of the price node. リーダーは、スキーマ内の情報を使用して、コンテンツを適切なデータ型にマップします。The reader uses the information in the schema to map the content to the correct data type.

// 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つのファイルを入力として使用します。The example uses the following two files as input.

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>

注釈

このメソッドは、開始タグと要素の内容を読み取り、リーダーを終了要素タグの後ろに移動します。This method reads the start tag, the contents of the element, and moves the reader past the end element tag. エンティティが展開され、処理命令とコメントは無視されます。It expands entities and ignores processing instructions and comments. 要素には、単純なコンテンツのみを含めることができます。The element can only contain simple content. つまり、子要素を持つことはできません。That is, it cannot have child elements.

詳細については、 XmlReaderリファレンスページの「解説」 と W3C XML Schema Part 2 を参照してください。データ型の推奨。For more information, see the Remarks section of the XmlReader reference page and the W3C XML Schema Part 2: Datatypes recommendation.

このメソッドの非同期バージョンについてはReadElementContentAsObjectAsync、「」を参照してください。For the asynchronous version of this method, see ReadElementContentAsObjectAsync.

ReadElementContentAsObject(String, String) ReadElementContentAsObject(String, String) ReadElementContentAsObject(String, String) ReadElementContentAsObject(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを Object として返します。Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as an 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 String String String

要素のローカル名。The local name of the element.

namespaceURI
String String String String

要素の名前空間 URI。The namespace URI of the element.

戻り値

最も適切な型のボックス化された共通言語ランタイム (CLR) オブジェクト。A boxed common language runtime (CLR) object of the most appropriate type. ValueType プロパティは、適切な CLR 型を判断します。The ValueType property determines the appropriate CLR type. 内容がリスト型として型指定されている場合、このメソッドは適切な型のボックス化されたオブジェクトの配列を返します。If the content is typed as a list type, this method returns an array of boxed objects of the appropriate type.

例外

XmlReader が要素に配置されません。The XmlReader is not positioned on an element.

- または --or- 先行の非同期操作が完了する前に、XmlReader メソッドが呼び出されました。An XmlReader method was called before a previous asynchronous operation finished. この場合、「非同期操作が既に実行されています」というメッセージと共に InvalidOperationException がスローされます。In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

現在の要素には、子要素が含まれています。The current element contains child elements.

- または --or-

要素のコンテンツを要求された型に変換できません。The element content cannot be converted to the requested type.

引数に null を渡してメソッドが呼び出されました。The method is called with null arguments.

指定されたローカル名と名前空間 URI は、現在読み取り中の要素と一致しません。The specified local name and namespace URI do not match that of the current element being read.

注釈

このメソッドは、開始タグと要素の内容を読み取り、リーダーを終了要素タグの後ろに移動します。This method reads the start tag, the contents of the element, and moves the reader past the end element tag. エンティティが展開され、処理命令とコメントは無視されます。It expands entities and ignores processing instructions and comments. 要素には、単純なコンテンツのみを含めることができます。The element can only contain simple content. つまり、子要素を持つことはできません。That is, it cannot have child elements.

詳細については、 XmlReaderリファレンスページの「解説」 と W3C XML Schema Part 2 を参照してください。データ型の推奨。For more information, see the Remarks section of the XmlReader reference page and the W3C XML Schema Part 2: Datatypes recommendation.

適用対象