Udostępnij za pośrednictwem


XmlReader.ReadElementContentAsObject Metoda

Definicja

Odczytuje bieżący element i zwraca zawartość jako element Object.

Przeciążenia

ReadElementContentAsObject()

Odczytuje bieżący element i zwraca zawartość jako element Object.

ReadElementContentAsObject(String, String)

Sprawdza, czy określona lokalna nazwa i identyfikator URI przestrzeni nazw są zgodne z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako Object.

ReadElementContentAsObject()

Odczytuje bieżący element i zwraca zawartość jako element 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

Zwraca

Object

Obiekt środowiska uruchomieniowego języka wspólnego (CLR, boxed common language runtime) najbardziej odpowiedniego typu. Właściwość ValueType określa odpowiedni typ CLR. Jeśli zawartość jest wpisywana jako typ listy, ta metoda zwraca tablicę obiektów skrzynkowych odpowiedniego typu.

Wyjątki

Element XmlReader nie jest umieszczony na elemecie .

-lub-

Metoda XmlReader została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Bieżący element zawiera elementy podrzędne.

-lub-

Nie można przekonwertować zawartości elementu na żądany typ

Metoda jest wywoływana z null argumentami.

Przykłady

W poniższym przykładzie użyto metody do odczytania zawartości węzła price . Czytelnik używa informacji w schemacie do mapowania zawartości na prawidłowy typ danych.

// 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)

W przykładzie użyto następujących dwóch plików jako danych wejściowych.

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>

Uwagi

Ta metoda odczytuje tag startowy, zawartość elementu i przenosi czytnik obok tagu elementu końcowego. Rozszerza jednostki i ignoruje przetwarzanie instrukcji i komentarzy. Element może zawierać tylko prostą zawartość. Oznacza to, że nie może mieć elementów podrzędnych.

Aby uzyskać więcej informacji, zobacz sekcję Uwagi na stronie referencyjnej XmlReader i zalecenia W3C XML Schema Part 2: Datatypes (Schemat XML W3C— część 2: zalecenia dotyczące typów danych ).

Aby uzyskać asynchroniczną wersję tej metody, zobacz ReadElementContentAsObjectAsync.

Dotyczy

ReadElementContentAsObject(String, String)

Sprawdza, czy określona lokalna nazwa i identyfikator URI przestrzeni nazw są zgodne z bieżącym elementem, a następnie odczytuje bieżący element i zwraca zawartość jako 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

Parametry

localName
String

Lokalna nazwa elementu.

namespaceURI
String

Identyfikator URI przestrzeni nazw elementu.

Zwraca

Object

Obiekt środowiska uruchomieniowego języka wspólnego (CLR, boxed common language runtime) najbardziej odpowiedniego typu. Właściwość ValueType określa odpowiedni typ CLR. Jeśli zawartość jest wpisywana jako typ listy, ta metoda zwraca tablicę obiektów skrzynkowych odpowiedniego typu.

Wyjątki

Element XmlReader nie jest umieszczony na elemecie .

-lub-

Metoda XmlReader została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Bieżący element zawiera elementy podrzędne.

-lub-

Nie można przekonwertować zawartości elementu na żądany typ.

Metoda jest wywoływana z null argumentami.

Określona nazwa lokalna i identyfikator URI przestrzeni nazw nie są zgodne z bieżącym elementem odczytywanym.

Uwagi

Ta metoda odczytuje tag startowy, zawartość elementu i przenosi czytnik obok tagu elementu końcowego. Rozszerza jednostki i ignoruje przetwarzanie instrukcji i komentarzy. Element może zawierać tylko prostą zawartość. Oznacza to, że nie może mieć elementów podrzędnych.

Aby uzyskać więcej informacji, zobacz sekcję Uwagi na stronie referencyjnej XmlReader i zalecenia W3C XML Schema Part 2: Datatypes (Schemat XML W3C— część 2: zalecenia dotyczące typów danych ).

Dotyczy