XPathNavigator.ReplaceSelf Methode

Definition

Ersetzt den aktuellen Knoten durch den angegebenen Inhalt.

Überlädt

Name Beschreibung
ReplaceSelf(XmlReader)

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

ReplaceSelf(XPathNavigator)

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

ReplaceSelf(String)

Ersetzt den aktuellen Knoten durch den Inhalt der angegebenen Zeichenfolge.

ReplaceSelf(XmlReader)

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

Ersetzt den aktuellen Knoten durch den Inhalt des XmlReader angegebenen 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 in den XML-Daten für den neuen Knoten positioniert ist.

Ausnahmen

Das XmlReader Objekt befindet sich in einem Fehlerzustand oder geschlossen.

Der XmlReader Objektparameter ist null.

Die XPathNavigator Position wird nicht auf einem Element, Text, Verarbeitungsanweisung oder Kommentarknoten positioniert.

Die XPathNavigator Bearbeitung wird nicht unterstützt.

Der XML-Inhalt des XmlReader Objektparameters ist nicht wohlgeformt.

Beispiele

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

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)

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

Die XPathNavigator Position wird auf dem neuen Knoten nach Abschluss der ReplaceSelf Methode positioniert und gibt zurück true. Die XPathNavigator Position wird nach Abschluss der ReplaceSelf Methode nicht auf dem neuen Knoten positioniert, wenn die XML-Eingabe Empty in diesem Fall XPathNavigator entweder auf dem nächsten gleichgeordneten Knoten oder dem übergeordneten Knoten positioniert ist, wenn kein nächster gleichgeordneter Knoten für den ersetzten Knoten vorhanden ist und die ReplaceSelf Rückgabe false.

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

  • Wenn die XML-Datenzeichenfolge nicht wohlgeformt ist, als eine Ausnahme ausgelöst wird, 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
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

Ersetzt den aktuellen Knoten durch den Inhalt des XPathNavigator angegebenen 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.

Die XPathNavigator Position wird nicht auf einem Element, Text, Verarbeitungsanweisung oder Kommentarknoten positioniert.

Die XPathNavigator Bearbeitung wird nicht unterstützt.

Der XML-Inhalt des XPathNavigator Objektparameters ist nicht wohlgeformt.

Beispiele

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

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)

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

Die XPathNavigator Position wird auf dem neuen Knoten nach Abschluss der ReplaceSelf Methode positioniert und gibt zurück true. Die XPathNavigator Position wird nach Abschluss der ReplaceSelf Methode nicht auf dem neuen Knoten positioniert, wenn die XML-Eingabe Empty in diesem Fall XPathNavigator entweder auf dem nächsten gleichgeordneten Knoten oder dem übergeordneten Knoten positioniert ist, wenn kein nächster gleichgeordneter Knoten für den ersetzten Knoten vorhanden ist und die ReplaceSelf Rückgabe false.

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

  • Wenn die XML-Datenzeichenfolge nicht wohlgeformt ist, als eine Ausnahme ausgelöst wird, 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
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

Ersetzt den aktuellen Knoten durch den 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 XML-Datenzeichenfolge für den neuen Knoten.

Ausnahmen

Der XML-Zeichenfolgenparameter ist null.

Die XPathNavigator Position wird nicht auf einem Element, Text, Verarbeitungsanweisung oder Kommentarknoten positioniert.

Die XPathNavigator Bearbeitung wird nicht unterstützt.

Der XML-Zeichenfolgenparameter ist nicht wohlgeformt.

Beispiele

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

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)

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

Die XPathNavigator Position wird auf dem neuen Knoten nach Abschluss der ReplaceSelf Methode positioniert und gibt zurück true. Die XPathNavigator Position wird nach Abschluss der ReplaceSelf Methode nicht auf dem neuen Knoten positioniert, wenn die XML-Eingabe Empty in diesem Fall XPathNavigator entweder auf dem nächsten gleichgeordneten Knoten oder dem übergeordneten Knoten positioniert ist, wenn kein nächster gleichgeordneter Knoten für den ersetzten Knoten vorhanden ist und die ReplaceSelf Rückgabe false.

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

  • Wenn die XML-Datenzeichenfolge nicht wohlgeformt ist, als eine Ausnahme ausgelöst wird, 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: