XPathNavigator.SetValue(String) Metodo
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.
Imposta il valore del nodo corrente.
public:
virtual void SetValue(System::String ^ value);
public virtual void SetValue(string value);
abstract member SetValue : string -> unit
override this.SetValue : string -> unit
Public Overridable Sub SetValue (value As String)
Parametri
- value
- String
Nuovo valore del nodo.
Eccezioni
Il parametro value è null.
L'oggetto XPathNavigator è posizionato nel nodo radice, in un nodo dello spazio dei nomi o nel valore specificato non è valido.
l'oggetto XPathNavigator non supporta la modifica.
Esempio
Nell'esempio seguente viene usato il SetValue metodo per aggiornare tutti gli price elementi del contosoBooks.xml file usando l'oggetto XmlNamespaceManager per risolvere i prefissi dello spazio dei nomi nell'espressione XPath.
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();
XmlNamespaceManager manager = new XmlNamespaceManager(navigator.NameTable);
manager.AddNamespace("bk", "http://www.contoso.com/books");
foreach (XPathNavigator nav in navigator.Select("//bk:price", manager))
{
if (nav.Value == "11.99")
{
nav.SetValue("12.99");
}
}
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
Dim manager As XmlNamespaceManager = New XmlNamespaceManager(navigator.NameTable)
manager.AddNamespace("bk", "http://www.contoso.com/books")
For Each nav As XPathNavigator In navigator.Select("//bk:price", manager)
If nav.Value = "11.99" Then
nav.SetValue("12.99")
End If
Next
Console.WriteLine(navigator.OuterXml)
L'esempio accetta il contosoBooks.xml file 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>
Commenti
Se l'oggetto XPathNavigator è posizionato in un nodo elemento con contenuto complesso (elementi figlio), la chiamata al SetValue metodo sostituisce gli elementi figlio con un nodo di testo contenente il nuovo valore stringa.
Il SetValue metodo non può aggiornare il nodo radice o i nodi dello spazio dei nomi.