XPathNavigator.SetTypedValue(Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit la valeur typée du nœud actuel.
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)
Paramètres
- typedValue
- Object
Nouvelle valeur typée du nœud.
Exceptions
XPathNavigator ne prend pas en charge le type de l'objet spécifié.
La valeur spécifiée ne peut pas être null
.
XPathNavigator n'est pas positionné sur un nœud d'élément ou d'attribut.
Le XPathNavigator ne prend pas en charge la modification.
Exemples
Dans l’exemple suivant, la SetTypedValue méthode est utilisée pour mettre à jour tous les price
éléments du fichier à l’aide contosoBooks.xml
de l’objet XmlNamespaceManager afin de résoudre les préfixes d’espace de noms dans l’expression 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)
L'exemple prend le fichier contosoBooks.xml
comme entrée.
<?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>
Remarques
Lorsqu’un XmlDocument objet est créé à la suite d’un objet de validation XmlReader de schéma, la valeur spécifiée à la SetTypedValue méthode est vérifiée par rapport au schéma XSD (XML Schema Definition Language) pour le document XML. Si la valeur spécifiée n’est pas valide selon le schéma du document XML, une XmlSchemaException valeur est levée.
La SetTypedValue méthode est valide uniquement lorsque est XPathNavigator positionné sur un nœud d’élément ou d’attribut.