XPathNavigator.ValueType Propriedade

Definição

Obtém o Type do .NET do nó atual.Gets the .NET Type of the current node.

public:
 virtual property Type ^ ValueType { Type ^ get(); };
public override Type ValueType { get; }
member this.ValueType : Type
Public Overrides ReadOnly Property ValueType As Type

Valor da propriedade

Type

O .NET Type do nó atual.The .NET Type of the current node. O valor padrão é String.The default value is String.

Exemplos

No exemplo a seguir, o contosoBooks.xml arquivo XML e o contosoBooks.xsd esquema de linguagem XSD são usados para criar um XPathNavigator objeto.In the following example, the contosoBooks.xml XML file and contosoBooks.xsd XML Schema definition language (XSD) schema are used to create an XPathNavigator object. O valor tipado do price elemento é exibido usando a ValueType propriedade e, em seguida, retornado como uma cadeia de caracteres usando o ValueAs método.The typed value of the price element is displayed using the ValueType property and then returned as a string using the ValueAs method.

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

O exemplo usa o arquivo contosoBooks.xml como entrada.The example takes the contosoBooks.xml file as an 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>  

O exemplo também usa contosoBooks.xsd como entrada.The example also takes the contosoBooks.xsd as an 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>  

Comentários

A ValueType propriedade Obtém o .NET Type do valor tipado do nó atual.The ValueType property gets the .NET Type of the typed value of the current node.

Por exemplo, um elemento do tipo xs:int teria um ValueType de Int32 por padrão.For example, an element of type xs:int would have a ValueType of Int32 by default. No entanto, ValueType pode ser qualquer um dos tipos válidos que podem ser mapeados para como xs:int Int16 ou Double .However, the ValueType could be any one of the valid types that can be mapped to xs:int such as Int16 or Double.

Se um nó não tiver nenhum tipo, isso será equivalente à anotação de tipo no nó que está sendo xdt:untypedAtomic .If a node has no type, this is equivalent to the type annotation on the node being xdt:untypedAtomic. Nesse caso, a ValueType propriedade retorna uma cadeia de caracteres para o nó.In this case, the ValueType property returns a string for the node. Para obter mais informações, consulte suporte de tipo nas classes de System.Xml.For more information, see Type Support in the System.Xml Classes.

Aplica-se a