XPathNavigator.SetValue(String) Methode

Definition

Legt den Wert des aktuellen Knotens fest.

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)

Parameter

value
String

Der neue Wert des Knotens.

Ausnahmen

Der Wertparameter ist null.

Die XPathNavigator Position befindet sich auf dem Stammknoten, einem Namespaceknoten oder dem angegebenen Wert ist ungültig.

Die XPathNavigator Bearbeitung wird nicht unterstützt.

Beispiele

Im folgenden Beispiel wird die SetValue Methode verwendet, um alle price Elemente in der Datei mithilfe des contosoBooks.xmlXmlNamespaceManager Objekts zu aktualisieren, um Namespacepräfixe im XPath-Ausdruck aufzulösen.

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)

Im Beispiel wird die contosoBooks.xml Datei als Eingabe verwendet.

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

Hinweise

  • Wenn die XPathNavigator Position auf einem Elementknoten mit komplexem Inhalt (untergeordnete Elemente) erfolgt, ersetzt das Aufrufen der SetValue Methode die untergeordneten Elemente durch einen Textknoten, der den neuen Zeichenfolgenwert enthält.

  • Die SetValue Methode kann den Stammknoten oder Namespaceknoten nicht aktualisieren.

Gilt für: