Sdílet prostřednictvím


XmlReader.ReadElementContentAsObject Metoda

Definice

Přečte aktuální prvek a vrátí obsah jako Object.

Přetížení

ReadElementContentAsObject()

Přečte aktuální prvek a vrátí obsah jako Object.

ReadElementContentAsObject(String, String)

Zkontroluje, zda zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního prvku, pak přečte aktuální prvek a vrátí obsah jako Object.

ReadElementContentAsObject()

Přečte aktuální prvek a vrátí obsah jako 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

Návraty

Object

Boxed common language runtime (CLR) objektu nejvhodnějšího typu. Vlastnost ValueType určuje odpovídající typ CLR. Pokud je obsah zadán jako typ seznamu, tato metoda vrátí pole boxovaných objektů příslušného typu.

Výjimky

Není XmlReader umístěn na elementu.

-nebo-

XmlReader Před dokončením předchozí asynchronní operace byla volána metoda. V tomto případě InvalidOperationException je vyvolán zpráva "Asynchronní operace již probíhá".

Aktuální prvek obsahuje podřízené prvky.

-nebo-

Obsah elementu nelze převést na požadovaný typ.

Metoda se volá s null argumenty.

Příklady

Následující příklad používá metodu ke čtení obsahu price uzlu. Čtenář pomocí informací ve schématu mapuje obsah na správný datový typ.

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

V příkladu se jako vstup používají následující dva soubory.

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>

Poznámky

Tato metoda přečte počáteční značku, obsah elementu a přesune čtenáře za značku koncového prvku. Rozšiřuje entity a ignoruje pokyny ke zpracování a komentáře. Element může obsahovat pouze jednoduchý obsah. To znamená, že nemůže mít podřízené prvky.

Další informace najdete v části XmlReader Poznámky na referenční stránce a schématu XML W3C část 2: Doporučení datových typů .

Asynchronní verze této metody naleznete v tématu ReadElementContentAsObjectAsync.

Platí pro

ReadElementContentAsObject(String, String)

Zkontroluje, zda zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního prvku, pak přečte aktuální prvek a vrátí obsah 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

Místní název elementu.

namespaceURI
String

Identifikátor URI oboru názvů elementu.

Návraty

Object

Boxed common language runtime (CLR) objektu nejvhodnějšího typu. Vlastnost ValueType určuje odpovídající typ CLR. Pokud je obsah zadán jako typ seznamu, tato metoda vrátí pole boxovaných objektů příslušného typu.

Výjimky

Není XmlReader umístěn na elementu.

-nebo-

XmlReader Před dokončením předchozí asynchronní operace byla volána metoda. V tomto případě InvalidOperationException je vyvolán zpráva "Asynchronní operace již probíhá".

Aktuální prvek obsahuje podřízené prvky.

-nebo-

Obsah prvku nelze převést na požadovaný typ.

Metoda se volá s null argumenty.

Zadaný místní název a identifikátor URI oboru názvů neodpovídá identifikátoru URI aktuálního prvku, který se čte.

Poznámky

Tato metoda přečte počáteční značku, obsah elementu a přesune čtenáře za značku koncového prvku. Rozšiřuje entity a ignoruje pokyny ke zpracování a komentáře. Element může obsahovat pouze jednoduchý obsah. To znamená, že nemůže mít podřízené prvky.

Další informace najdete v části XmlReader Poznámky na referenční stránce a schématu XML W3C část 2: Doporučení datových typů .

Platí pro