XPathNavigator.SetTypedValue(Object) Método

Definición

Establece el valor con tipo del nodo actual.

public:
 virtual void SetTypedValue(System::Object ^ typedValue);
public virtual void SetTypedValue (object typedValue);
abstract member SetTypedValue : obj -> unit
override this.SetTypedValue : obj -> unit
Public Overridable Sub SetTypedValue (typedValue As Object)

Parámetros

typedValue
Object

Nuevo valor con tipo del nodo.

Excepciones

XPathNavigator no admite el tipo del objeto especificado.

El valor especificado no puede ser null.

XPathNavigator no está situado en ningún nodo de elemento o atributo.

XPathNavigator no admite la edición.

Ejemplos

En el ejemplo siguiente, el SetTypedValue método se usa para actualizar todos los price elementos del contosoBooks.xml archivo mediante el XmlNamespaceManager objeto para resolver prefijos de espacio de nombres en la expresión XPath.

XmlReaderSettings^ settings = gcnew XmlReaderSettings();
settings->Schemas->Add("http://www.contoso.com/books", "contosoBooks.xsd");
settings->ValidationType = ValidationType::Schema;

XmlReader^ reader = XmlReader::Create("contosoBooks.xml", settings);
XmlDocument^ document = gcnew XmlDocument();
document->Load(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");

Decimal^ price = gcnew Decimal(19.99);
navigator->SetTypedValue(price);

navigator->MoveToParent();
Console::WriteLine(navigator->OuterXml);
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("http://www.contoso.com/books", "contosoBooks.xsd");
settings.ValidationType = ValidationType.Schema;

XmlReader reader = XmlReader.Create("contosoBooks.xml", settings);
XmlDocument document = new XmlDocument();
document.Load(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");

Decimal price = 19.99M;
navigator.SetTypedValue(price);

navigator.MoveToParent();
Console.WriteLine(navigator.OuterXml);
Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.Schemas.Add("http://www.contoso.com/books", "contosoBooks.xsd")
settings.ValidationType = ValidationType.Schema

Dim reader As XmlReader = XmlReader.Create("contosoBooks.xml", settings)
Dim document As XmlDocument = New XmlDocument()
document.Load(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")

Dim price As New Decimal(19.99)
navigator.SetTypedValue(price)

navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)

En el ejemplo se toma como entrada el archivo contosoBooks.xml.

<?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>  

Comentarios

Cuando se crea un XmlDocument objeto como resultado de un objeto de validación XmlReader de esquema, el valor especificado para el SetTypedValue método se comprueba con el esquema del lenguaje de definición de esquemas XML (XSD) para el documento XML. Si el valor especificado no es válido según el esquema del documento XML, se produce una XmlSchemaException excepción .

El SetTypedValue método solo es válido cuando XPathNavigator se coloca en un nodo de elemento o atributo.

Se aplica a