XPathNavigator.ValueType Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den .NET-Type des aktuellen Knotens ab.
public:
virtual property Type ^ ValueType { Type ^ get(); };
public override Type ValueType { get; }
member this.ValueType : Type
Public Overrides ReadOnly Property ValueType As Type
Eigenschaftswert
Das .NET Type des aktuellen Knotens. Der Standardwert ist String.
Beispiele
Im folgenden Beispiel werden die XML-Datei und contosoBooks.xsd
das contosoBooks.xml
XSD-Schemaschema (XML Schema Definition Language) verwendet, um ein XPathNavigator Objekt zu erstellen. Der typisierte Wert des price
Elements wird mithilfe der ValueType -Eigenschaft angezeigt und dann mit der ValueAs -Methode als Zeichenfolge zurückgegeben.
// Create an XmlReaderSettings object with the contosoBooks.xsd schema.
XmlReaderSettings^ settings = gcnew XmlReaderSettings();
settings->Schemas->Add("http://www.contoso.com/books", "contosoBooks.xsd");
settings->ValidationType = ValidationType::Schema;
// Create an XmlReader object with the contosoBooks.xml file and its schema.
XmlReader^ reader = XmlReader::Create("contosoBooks.xml", settings);
XPathDocument^ document = gcnew XPathDocument(reader);
XPathNavigator^ navigator = document->CreateNavigator();
navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");
navigator->MoveToChild("price", "http://www.contoso.com/books");
// Display the current type of the price element.
Console::WriteLine(navigator->ValueType);
// Get the value of the price element as a string and display it.
String^ price = dynamic_cast<String^>(navigator->ValueAs(String::typeid));
Console::WriteLine(price);
// Create an XmlReaderSettings object with the contosoBooks.xsd schema.
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("http://www.contoso.com/books", "contosoBooks.xsd");
settings.ValidationType = ValidationType.Schema;
// Create an XmlReader object with the contosoBooks.xml file and its schema.
XmlReader reader = XmlReader.Create("contosoBooks.xml", settings);
XPathDocument document = new XPathDocument(reader);
XPathNavigator navigator = document.CreateNavigator();
navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");
navigator.MoveToChild("price", "http://www.contoso.com/books");
// Display the current type of the price element.
Console.WriteLine(navigator.ValueType);
// Get the value of the price element as a string and display it.
string price = navigator.ValueAs(typeof(string)) as string;
Console.WriteLine(price);
' Create an XmlReaderSettings object with the contosoBooks.xsd schema.
Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.Schemas.Add("http://www.contoso.com/books", "contosoBooks.xsd")
settings.ValidationType = ValidationType.Schema
' Create an XmlReader object with the contosoBooks.xml file and its schema.
Dim reader As XmlReader = XmlReader.Create("contosoBooks.xml", settings)
Dim document As XPathDocument = New XPathDocument(reader)
Dim navigator As XPathNavigator = document.CreateNavigator()
navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")
navigator.MoveToChild("price", "http://www.contoso.com/books")
' Display the current type of the price element.
Console.WriteLine(navigator.ValueType)
' Get the value of the price element as a string and display it.
Dim price As String = navigator.ValueAs(GetType(String))
Console.WriteLine(price)
In diesem Beispiel wird die Datei contosoBooks.xml
als Eingabe verwendet.
<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
<book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
In diesem Beispiel wird auch contosoBooks.xsd
als Eingabe verwendet.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.contoso.com/books" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="bookstore">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string" />
<xs:element name="author">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="name" type="xs:string" />
<xs:element minOccurs="0" name="first-name" type="xs:string" />
<xs:element minOccurs="0" name="last-name" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="price" type="xs:decimal" />
</xs:sequence>
<xs:attribute name="genre" type="xs:string" use="required" />
<xs:attribute name="publicationdate" type="xs:date" use="required" />
<xs:attribute name="ISBN" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Hinweise
Die ValueType -Eigenschaft ruft .NET Type des typisierten Werts des aktuellen Knotens ab.
Ein Element vom Typ xs:int
weist beispielsweise standardmäßig ein ValueType von Int32 auf. Es ValueType kann sich jedoch um einen beliebigen der gültigen Typen handeln, der zugeordnet werden xs:int
kann, z Int16 . B. oder Double.
Wenn ein Knoten keinen Typ aufweist, entspricht dies der Typanmerkung für den Knoten.xdt:untypedAtomic
In diesem Fall gibt die ValueType -Eigenschaft eine Zeichenfolge für den Knoten zurück. Weitere Informationen finden Sie unter Typunterstützung in der System.Xml-Klassen.