Freigeben über


XmlReader.ReadElementContentAsObject Methode

Definition

Liest das aktuelle Element und gibt den Inhalt als Object zurück.

Überlädt

ReadElementContentAsObject()

Liest das aktuelle Element und gibt den Inhalt als Object zurück.

ReadElementContentAsObject(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als Object zurück.

ReadElementContentAsObject()

Liest das aktuelle Element und gibt den Inhalt als Object zurück.

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

Gibt zurück

Object

Ein geschachteltes CLR-Objekt (Common Language Runtime) des geeignetsten Typs. Die ValueType-Eigenschaft bestimmt den geeigneten CLR-Typ. Wenn der Inhalt als Listentyp typisiert ist, gibt diese Methode ein Array der geschachtelten Objekte des geeigneten Typs zurück.

Ausnahmen

Der XmlReader wird nicht auf einem Element positioniert.

- oder -

Eine XmlReader-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Das aktuelle Element enthält untergeordnete Elemente.

- oder -

Der Elementinhalt kann nicht in den angeforderten Typ konvertiert werden.

Die Methode wird mit null-Argumenten aufgerufen.

Beispiele

Im folgenden Beispiel wird die Methode verwendet, um den Inhalt des price Knotens zu lesen. Der Leser verwendet die Informationen im Schema, um den Inhalt dem richtigen Datentyp zuzuordnen.

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

Im Beispiel werden die folgenden beiden Dateien als Eingabe verwendet.

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>

Hinweise

Diese Methode liest das Starttag, den Inhalt des Elements und verschiebt den Leser nach dem Endelementtag. Es erweitert Entitäten und ignoriert Verarbeitungsanweisungen und Kommentare. Das Element kann nur einfache Inhalte enthalten. Das heißt, es kann nicht über untergeordnete Elemente verfügen.

Weitere Informationen finden Sie im Abschnitt "Hinweise" der XmlReader Referenzseite und des W3C-XML-Schemas Teil 2: Empfehlung für Datentypen .

Eine asynchrone Version dieser Methode finden Sie unter ReadElementContentAsObjectAsync.

Gilt für

ReadElementContentAsObject(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als Object zurück.

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

Parameter

localName
String

Der lokale Name des Elements.

namespaceURI
String

Der Namespace-URI des Elements.

Gibt zurück

Object

Ein geschachteltes CLR-Objekt (Common Language Runtime) des geeignetsten Typs. Die ValueType-Eigenschaft bestimmt den geeigneten CLR-Typ. Wenn der Inhalt als Listentyp typisiert ist, gibt diese Methode ein Array der geschachtelten Objekte des geeigneten Typs zurück.

Ausnahmen

Der XmlReader wird nicht auf einem Element positioniert.

- oder -

Eine XmlReader-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Das aktuelle Element enthält untergeordnete Elemente.

- oder -

Der Elementinhalt kann nicht in den angeforderten Typ konvertiert werden.

Die Methode wird mit null-Argumenten aufgerufen.

Der angegebene lokale Name und der Namespace-URI stimmen nicht mit dem Element überein, das gerade gelesen wird.

Hinweise

Diese Methode liest das Starttag, den Inhalt des Elements und verschiebt den Leser nach dem Endelementtag. Es erweitert Entitäten und ignoriert Verarbeitungsanweisungen und Kommentare. Das Element kann nur einfache Inhalte enthalten. Das heißt, es kann nicht über untergeordnete Elemente verfügen.

Weitere Informationen finden Sie im Abschnitt "Hinweise" der XmlReader Referenzseite und des W3C-XML-Schemas Teil 2: Empfehlung für Datentypen .

Gilt für