XPathNavigator.ValueType Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene il valore .NET Type del nodo corrente.
public:
virtual property Type ^ ValueType { Type ^ get(); };
public override Type ValueType { get; }
member this.ValueType : Type
Public Overrides ReadOnly Property ValueType As Type
Valore della proprietà
.NET Type del nodo corrente. Il valore predefinito è String.
Esempio
Nell'esempio seguente vengono usati lo contosoBooks.xml
schema XSD (XML File) e contosoBooks.xsd
XML Schema Definition Language (XSD) per creare un XPathNavigator oggetto . Il valore tipizzato dell'elemento price
viene visualizzato usando la ValueType proprietà e quindi restituito come stringa usando il ValueAs metodo .
// 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)
Nell'esempio il file contosoBooks.xml
viene considerato come input.
<?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>
Anche il file contosoBooks.xsd
viene considerato come input.
<?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>
Commenti
La ValueType proprietà ottiene .NET Type del valore tipizzato del nodo corrente.
Ad esempio, un elemento di tipo xs:int
avrà un ValueType valore di per Int32 impostazione predefinita. Tuttavia, ValueType può essere uno dei tipi validi a cui è possibile eseguire il mapping, xs:int
ad esempio Int16 o Double.
Se un nodo non ha alcun tipo, equivale all'annotazione del tipo nel nodo che è xdt:untypedAtomic
. In questo caso, la ValueType proprietà restituisce una stringa per il nodo. Per altre informazioni, vedere Supporto dei tipi nelle classi System.Xml.