XmlReader.ReadElementContentAsObject Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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
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ů .