XmlReader.ReadElementContentAs Metoda

Definicja

Odczytuje bieżący element i zwraca zawartość jako obiekt określonego typu.Reads the current element and returns the contents as an object of the type specified.

Przeciążenia

ReadElementContentAs(Type, IXmlNamespaceResolver)

Odczytuje zawartość elementu jako żądany typ.Reads the element content as the requested type.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw są zgodne z bieżącym elementem, a następnie odczytuje zawartość elementu jako żądany typ.Checks that the specified local name and namespace URI matches that of the current element, then reads the element content as the requested type.

ReadElementContentAs(Type, IXmlNamespaceResolver)

Odczytuje zawartość elementu jako żądany typ.Reads the element content as the requested type.

public:
 virtual System::Object ^ ReadElementContentAs(Type ^ returnType, System::Xml::IXmlNamespaceResolver ^ namespaceResolver);
public virtual object ReadElementContentAs (Type returnType, System.Xml.IXmlNamespaceResolver namespaceResolver);
abstract member ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver -> obj
override this.ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver -> obj
Public Overridable Function ReadElementContentAs (returnType As Type, namespaceResolver As IXmlNamespaceResolver) As Object

Parametry

returnType
Type

Typ wartości, która ma zostać zwrócona.The type of the value to be returned.

Uwaga W przypadku wydania .NET Framework 3,5 wartość parametru returnType może teraz być typem DateTimeOffset.Note With the release of the .NET Framework 3.5, the value of the returnType parameter can now be the DateTimeOffset type.

namespaceResolver
IXmlNamespaceResolver

Obiekt IXmlNamespaceResolver, który jest używany do rozpoznawania wszelkich prefiksów przestrzeni nazw związanych z konwersją typu.An IXmlNamespaceResolver object that is used to resolve any namespace prefixes related to type conversion.

Zwraca

Zawartość elementu konwertowana na żądany typ obiektu.The element content converted to the requested typed object.

Wyjątki

XmlReader nie jest umieszczona w elemencie.The XmlReader is not positioned on an element.

lub-or-

Metoda XmlReader została wywołana przed ukończeniem poprzedniej operacji asynchronicznej.An XmlReader method was called before a previous asynchronous operation finished. W takim przypadku InvalidOperationException jest generowany z komunikatem "asynchroniczna operacja jest już w toku".In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Bieżący element zawiera elementy podrzędne.The current element contains child elements.

lub-or-

Nie można przekonwertować zawartości elementu na żądany typ.The element content cannot be converted to the requested type.

Metoda jest wywoływana z argumentami null.The method is called with null arguments.

Przeczytaj Decimal.MaxValue.Read Decimal.MaxValue.

Przykłady

W poniższym przykładzie zastosowano metodę ReadElementContentAs, aby odczytać zawartość węzła date.The following example uses the ReadElementContentAs method to read the content of the date node.

using (XmlReader reader = XmlReader.Create("dataFile.xml")) {
     reader.ReadToFollowing("date");
     DateTime date = (DateTime) reader.ReadElementContentAs(typeof(System.DateTime), null);
  
     // If the current culture is "en-US",
     // this writes "Wednesday, January 8, 2003".
     Console.WriteLine(date.ToLongDateString());	
}
Using reader As XmlReader = XmlReader.Create("dataFile.xml")
  reader.ReadToFollowing("date")
  Dim [date] As DateTime = CType(reader.ReadElementContentAs(GetType(System.DateTime), Nothing), DateTime)
            
  ' If the current culture is "en-US",
  ' this writes "Wednesday, January 8, 2003".
  Console.WriteLine([date].ToLongDateString())
End Using

W przykładzie jest użyty plik dataFile.xml jako dane wejściowe.The example uses the dataFile.xml file as input.

<root>
  <stringValue>
     <!--comment-->
     <?some pi?>
      text value of the element.
  </stringValue>
  <longValue>270000000000001</longValue>
  <number>0</number>
  <double>2E10</double>
  <date>2003-01-08T15:00:00-00:00</date>
</root>

Uwagi

Ta metoda odczytuje tag początkowy, zawartość elementu i przenosi czytelnika poza tag elementu końcowego.This method reads the start tag, the contents of the element, and moves the reader past the end element tag. Rozszerza jednostki i ignoruje przetwarzanie instrukcji i komentarzy.It expands entities and ignores processing instructions and comments. Element może zawierać tylko zawartość prostą.The element can only contain simple content. Oznacza to, że nie może mieć elementów podrzędnych.That is, it cannot have child elements.

Aby uzyskać więcej informacji, zobacz sekcję uwagi na stronie informacje referencyjne XmlReader i plik W3C XML schematu część 2: rekomendacja typów danych.For more information, see the Remarks section of the XmlReader reference page and the W3C XML Schema Part 2: Datatypes recommendation.

Aby uzyskać asynchroniczną wersję tej metody, zobacz ReadElementContentAsAsync.For the asynchronous version of this method, see ReadElementContentAsAsync.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Sprawdza, czy określona nazwa lokalna i identyfikator URI przestrzeni nazw są zgodne z bieżącym elementem, a następnie odczytuje zawartość elementu jako żądany typ.Checks that the specified local name and namespace URI matches that of the current element, then reads the element content as the requested type.

public:
 virtual System::Object ^ ReadElementContentAs(Type ^ returnType, System::Xml::IXmlNamespaceResolver ^ namespaceResolver, System::String ^ localName, System::String ^ namespaceURI);
public virtual object ReadElementContentAs (Type returnType, System.Xml.IXmlNamespaceResolver namespaceResolver, string localName, string namespaceURI);
abstract member ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver * string * string -> obj
override this.ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver * string * string -> obj
Public Overridable Function ReadElementContentAs (returnType As Type, namespaceResolver As IXmlNamespaceResolver, localName As String, namespaceURI As String) As Object

Parametry

returnType
Type

Typ wartości, która ma zostać zwrócona.The type of the value to be returned.

Uwaga W przypadku wydania .NET Framework 3,5 wartość parametru returnType może teraz być typem DateTimeOffset.Note With the release of the .NET Framework 3.5, the value of the returnType parameter can now be the DateTimeOffset type.

namespaceResolver
IXmlNamespaceResolver

Obiekt IXmlNamespaceResolver, który jest używany do rozpoznawania wszelkich prefiksów przestrzeni nazw związanych z konwersją typu.An IXmlNamespaceResolver object that is used to resolve any namespace prefixes related to type conversion.

localName
String

Nazwa lokalna elementu.The local name of the element.

namespaceURI
String

Identyfikator URI przestrzeni nazw elementu.The namespace URI of the element.

Zwraca

Zawartość elementu konwertowana na żądany typ obiektu.The element content converted to the requested typed object.

Wyjątki

XmlReader nie jest umieszczona w elemencie.The XmlReader is not positioned on an element.

lub-or-

Metoda XmlReader została wywołana przed ukończeniem poprzedniej operacji asynchronicznej.An XmlReader method was called before a previous asynchronous operation finished. W takim przypadku InvalidOperationException jest generowany z komunikatem "asynchroniczna operacja jest już w toku".In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Bieżący element zawiera elementy podrzędne.The current element contains child elements.

lub-or-

Nie można przekonwertować zawartości elementu na żądany typ.The element content cannot be converted to the requested type.

Metoda jest wywoływana z argumentami null.The method is called with null arguments.

Określona nazwa lokalna i identyfikator URI przestrzeni nazw nie są zgodne z bieżącym odczytywanym elementem.The specified local name and namespace URI do not match that of the current element being read.

Przeczytaj Decimal.MaxValue.Read Decimal.MaxValue.

Uwagi

Ta metoda odczytuje tag początkowy, zawartość elementu i przenosi czytelnika poza tag elementu końcowego.This method reads the start tag, the contents of the element, and moves the reader past the end element tag. Rozszerza jednostki i ignoruje przetwarzanie instrukcji i komentarzy.It expands entities and ignores processing instructions and comments. Element może zawierać tylko zawartość prostą.The element can only contain simple content. Oznacza to, że nie może mieć elementów podrzędnych.That is, it cannot have child elements.

Aby uzyskać więcej informacji, zobacz sekcję uwagi na stronie informacje referencyjne XmlReader i plik W3C XML schematu część 2: rekomendacja typów danych.For more information, see the Remarks section of the XmlReader reference page and the W3C XML Schema Part 2: Datatypes recommendation.

Dotyczy