Freigeben über


XPathNavigator.ReplaceSelf Methode

Definition

Ersetzt den aktuellen Knoten mit dem angegebenen Inhalt.

Überlädt

ReplaceSelf(XmlReader)

Ersetzt den aktuellen Knoten durch den Inhalt des angegebenen XmlReader-Objekts.

ReplaceSelf(XPathNavigator)

Ersetzt den aktuellen Knoten durch den Inhalt des angegebenen XPathNavigator-Objekts.

ReplaceSelf(String)

Ersetzt den aktuellen Knoten mit dem Inhalt der angegebenen Zeichenfolge.

ReplaceSelf(XmlReader)

Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

Ersetzt den aktuellen Knoten durch den Inhalt des angegebenen XmlReader-Objekts.

public:
 virtual void ReplaceSelf(System::Xml::XmlReader ^ newNode);
public virtual void ReplaceSelf (System.Xml.XmlReader newNode);
abstract member ReplaceSelf : System.Xml.XmlReader -> unit
override this.ReplaceSelf : System.Xml.XmlReader -> unit
Public Overridable Sub ReplaceSelf (newNode As XmlReader)

Parameter

newNode
XmlReader

Ein XmlReader-Objekt, das auf den XML-Daten für den neuen Knoten positioniert ist.

Ausnahmen

Das XmlReader-Objekt befindet sich in einem Fehlerzustand oder wurde geschlossen.

Der XmlReader-Objektparameter ist null.

Der XPathNavigator ist nicht auf einem Elementknoten, Textknoten, Kommentarknoten oder Knoten für eine Verarbeitungsanweisung positioniert.

Der XPathNavigator unterstützt keine Bearbeitung.

Der XML-Inhalt des XmlReader-Objektparameters ist nicht ordnungsgemäß formatiert.

Beispiele

Im folgenden Beispiel wird das price Element in der contosoBooks.xml Datei durch ein neues pages Element ersetzt.

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
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");

XmlReader^ pages = XmlReader::Create(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator->ReplaceSelf(pages);

Console::WriteLine("Position after delete: {0}", navigator->Name);
Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
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");

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.ReplaceSelf(pages);

Console.WriteLine("Position after delete: {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
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 pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))

navigator.ReplaceSelf(pages)

Console.WriteLine("Position after delete: {0}", navigator.Name)
Console.WriteLine(navigator.OuterXml)

In diesem Beispiel wird die Datei contosoBooks.xml 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

Wird XPathNavigator nach Abschluss der ReplaceSelf -Methode auf dem neuen Knoten positioniert und gibt zurück true. Ist XPathNavigator nach Abschluss der ReplaceSelf -Methode nicht auf dem neuen Knoten positioniert, wenn die XML-Eingabe ist, ist Empty der XPathNavigator entweder auf dem nächsten untergeordneten Knoten oder auf dem übergeordneten Knoten positioniert, wenn kein nächster gleichgeordneter Knoten zum ersetzten Knoten vorhanden ist und der ReplaceSelf zurückgibt false.

  • Die ReplaceSelf -Methode ist nur gültig, wenn die XPathNavigator auf einem Element, Text, einer Verarbeitungsanweisung oder einem Kommentarknoten positioniert ist.

  • Wenn die XML-Datenzeichenfolge nicht wohlgeformt ist, wird eine Ausnahme ausgelöst, und das Ergebnis dieser Methode entspricht dem Aufrufen DeleteSelf des aktuellen Knotens.

  • Wenn die XML-Zeichenfolge mehrere Knoten enthält, werden alle Knoten hinzugefügt und auf XPathNavigator dem ersten Knoten in der Reihe von Knoten positioniert.

  • Die ReplaceSelf -Methode entspricht nicht der DeleteSelf -Methode.

Gilt für:

ReplaceSelf(XPathNavigator)

Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

Ersetzt den aktuellen Knoten durch den Inhalt des angegebenen XPathNavigator-Objekts.

public:
 virtual void ReplaceSelf(System::Xml::XPath::XPathNavigator ^ newNode);
public virtual void ReplaceSelf (System.Xml.XPath.XPathNavigator newNode);
abstract member ReplaceSelf : System.Xml.XPath.XPathNavigator -> unit
override this.ReplaceSelf : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub ReplaceSelf (newNode As XPathNavigator)

Parameter

newNode
XPathNavigator

Ein XPathNavigator-Objekt, das auf dem neuen Knoten positioniert ist.

Ausnahmen

Der XPathNavigator-Objektparameter ist null.

Der XPathNavigator ist nicht auf einem Elementknoten, Textknoten, Kommentarknoten oder Knoten für eine Verarbeitungsanweisung positioniert.

Der XPathNavigator unterstützt keine Bearbeitung.

Der XML-Inhalt des XPathNavigator-Objektparameters ist nicht ordnungsgemäß formatiert.

Beispiele

Im folgenden Beispiel wird das price Element in der contosoBooks.xml Datei durch ein neues pages Element ersetzt.

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
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");

XmlDocument^ childNodes = gcnew XmlDocument();
childNodes->Load(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator^ childNodesNavigator = childNodes->CreateNavigator();

navigator->ReplaceSelf(childNodesNavigator);

Console::WriteLine("Position after delete: {0}", navigator->Name);
Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
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");

XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();

navigator.ReplaceSelf(childNodesNavigator);

Console.WriteLine("Position after delete: {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
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 childNodes As XmlDocument = New XmlDocument()
childNodes.Load(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))
Dim childNodesNavigator As XPathNavigator = childNodes.CreateNavigator()

navigator.ReplaceSelf(childNodesNavigator)

Console.WriteLine("Position after delete: {0}", navigator.Name)
Console.WriteLine(navigator.OuterXml)

In diesem Beispiel wird die Datei contosoBooks.xml 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

Wird XPathNavigator nach Abschluss der ReplaceSelf -Methode auf dem neuen Knoten positioniert und gibt zurück true. Ist XPathNavigator nach Abschluss der ReplaceSelf -Methode nicht auf dem neuen Knoten positioniert, wenn die XML-Eingabe ist, ist Empty der XPathNavigator entweder auf dem nächsten untergeordneten Knoten oder auf dem übergeordneten Knoten positioniert, wenn kein nächster gleichgeordneter Knoten zum ersetzten Knoten vorhanden ist und der ReplaceSelf zurückgibt false.

  • Die ReplaceSelf -Methode ist nur gültig, wenn die XPathNavigator auf einem Element, Text, einer Verarbeitungsanweisung oder einem Kommentarknoten positioniert ist.

  • Wenn die XML-Datenzeichenfolge nicht wohlgeformt ist, wird eine Ausnahme ausgelöst, und das Ergebnis dieser Methode entspricht dem Aufrufen DeleteSelf des aktuellen Knotens.

  • Wenn die XML-Zeichenfolge mehrere Knoten enthält, werden alle Knoten hinzugefügt und auf XPathNavigator dem ersten Knoten in der Reihe von Knoten positioniert.

  • Die ReplaceSelf -Methode entspricht nicht der DeleteSelf -Methode.

Gilt für:

ReplaceSelf(String)

Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

Ersetzt den aktuellen Knoten mit dem Inhalt der angegebenen Zeichenfolge.

public:
 virtual void ReplaceSelf(System::String ^ newNode);
public virtual void ReplaceSelf (string newNode);
abstract member ReplaceSelf : string -> unit
override this.ReplaceSelf : string -> unit
Public Overridable Sub ReplaceSelf (newNode As String)

Parameter

newNode
String

Die Zeichenfolge mit XML-Daten für den neuen Knoten.

Ausnahmen

Der XML-Zeichenfolgenparameter ist null.

XPathNavigator befindet sich nicht auf einem Element, einem Text, einer Verarbeitungsanweisung oder einem Kommentarknoten.

Der XPathNavigator unterstützt keine Bearbeitung.

Der XML-Zeichenfolgenparameter ist nicht ordnungsgemäß formatiert.

Beispiele

Im folgenden Beispiel wird das price Element in der contosoBooks.xml Datei durch ein neues pages Element ersetzt.

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
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");

navigator->ReplaceSelf("<pages>100</pages>");

Console::WriteLine("Position after delete: {0}", navigator->Name);
Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
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");

navigator.ReplaceSelf("<pages>100</pages>");

Console.WriteLine("Position after delete: {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
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")

navigator.ReplaceSelf("<pages>100</pages>")

Console.WriteLine("Position after delete: {0}", navigator.Name)
Console.WriteLine(navigator.OuterXml)

In diesem Beispiel wird die Datei contosoBooks.xml 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

Wird XPathNavigator nach Abschluss der ReplaceSelf -Methode auf dem neuen Knoten positioniert und gibt zurück true. Ist XPathNavigator nach Abschluss der ReplaceSelf -Methode nicht auf dem neuen Knoten positioniert, wenn die XML-Eingabe ist, ist Empty der XPathNavigator entweder auf dem nächsten untergeordneten Knoten oder auf dem übergeordneten Knoten positioniert, wenn kein nächster gleichgeordneter Knoten zum ersetzten Knoten vorhanden ist und der ReplaceSelf zurückgibt false.

  • Die ReplaceSelf -Methode ist nur gültig, wenn die XPathNavigator auf einem Element, Text, einer Verarbeitungsanweisung oder einem Kommentarknoten positioniert ist.

  • Wenn die XML-Datenzeichenfolge nicht wohlgeformt ist, wird eine Ausnahme ausgelöst, und das Ergebnis dieser Methode entspricht dem Aufrufen DeleteSelf des aktuellen Knotens.

  • Wenn die XML-Zeichenfolge mehrere Knoten enthält, werden alle Knoten hinzugefügt und auf XPathNavigator dem ersten Knoten in der Reihe von Knoten positioniert.

  • Die ReplaceSelf -Methode entspricht nicht der DeleteSelf -Methode.

Gilt für: