XPathNavigator.InsertAfter Metod

Definition

Skapar en ny syskonnod efter den valda noden.

Överlagringar

Name Description
InsertAfter(XPathNavigator)

Skapar en ny syskonnod efter den valda noden med noderna i det XPathNavigator angivna objektet.

InsertAfter(XmlReader)

Skapar en ny nod på samma nivå efter den valda noden med hjälp av XML-innehållet i det XmlReader angivna objektet.

InsertAfter()

Returnerar ett XmlWriter objekt som används för att skapa en ny syskonnod efter den valda noden.

InsertAfter(String)

Skapar en ny nod på samma nivå efter den valda noden med den angivna XML-strängen.

InsertAfter(XPathNavigator)

Skapar en ny syskonnod efter den valda noden med noderna i det XPathNavigator angivna objektet.

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

Parametrar

newSibling
XPathNavigator

Ett XPathNavigator objekt som placeras på noden som ska läggas till som den nya syskonnoden.

Undantag

Objektparametern XPathNavigator är null.

Positionen XPathNavigator för tillåter inte att en ny syskonnod infogas efter den aktuella noden.

Stöder XPathNavigator inte redigering.

Exempel

I följande exempel infogas ett nytt pages element efter det price underordnade elementet i det första book elementet i contosoBooks.xml filen med hjälp av noden som finns i det XPathNavigator angivna objektet. Namnområdet http://www.contoso.com/books anges så att det nya syskonelementet infogas med samma namnområde som XML-dokumentet.

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.InsertAfter(childNodesNavigator);

navigator.MoveToParent();
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.InsertAfter(childNodesNavigator)

navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)

Exemplet tar contosoBooks.xml filen som indata.

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

Kommentarer

Följande är viktiga att tänka på när du använder InsertAfter metoden.

  • Om objektet XmlReader placeras över en sekvens med XML-noder läggs alla noder i sekvensen till.

  • Metoden InsertAfter är endast giltig när XPathNavigator är placerad på ett element, text, bearbetningsinstruktion eller kommentarsnod.

  • Metoden InsertAfter påverkar inte positionen för XPathNavigator.

Gäller för

InsertAfter(XmlReader)

Skapar en ny nod på samma nivå efter den valda noden med hjälp av XML-innehållet i det XmlReader angivna objektet.

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

Parametrar

newSibling
XmlReader

Ett XmlReader objekt som är placerat på XML-data för den nya syskonnoden.

Undantag

Objektet XmlReader är i feltillstånd eller stängt.

Objektparametern XmlReader är null.

Positionen XPathNavigator för tillåter inte att en ny syskonnod infogas efter den aktuella noden.

Stöder XPathNavigator inte redigering.

XML-innehållet i XmlReader objektparametern är inte välformat.

Exempel

I följande exempel infogas ett nytt pages element efter det price underordnade elementet i det första book elementet i contosoBooks.xml filen med det XmlReader angivna objektet. Namnområdet http://www.contoso.com/books anges så att det nya syskonelementet infogas med samma namnområde som XML-dokumentet.

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.InsertAfter(pages);

navigator.MoveToParent();
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.InsertAfter(pages)

navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)

Exemplet tar contosoBooks.xml filen som indata.

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

Kommentarer

Följande är viktiga att tänka på när du använder InsertAfter metoden.

  • Om objektet XmlReader placeras över en sekvens med XML-noder läggs alla noder i sekvensen till.

  • Metoden InsertAfter är endast giltig när XPathNavigator är placerad på ett element, text, bearbetningsinstruktion eller kommentarsnod.

  • Metoden InsertAfter påverkar inte positionen för XPathNavigator.

Gäller för

InsertAfter()

Returnerar ett XmlWriter objekt som används för att skapa en ny syskonnod efter den valda noden.

public:
 virtual System::Xml::XmlWriter ^ InsertAfter();
public virtual System.Xml.XmlWriter InsertAfter();
abstract member InsertAfter : unit -> System.Xml.XmlWriter
override this.InsertAfter : unit -> System.Xml.XmlWriter
Public Overridable Function InsertAfter () As XmlWriter

Returer

Ett XmlWriter objekt som används för att skapa en ny syskonnod efter den valda noden.

Undantag

Positionen XPathNavigator för tillåter inte att en ny syskonnod infogas efter den aktuella noden.

Stöder XPathNavigator inte redigering.

Exempel

I följande exempel infogas ett nytt pages element efter det price underordnade elementet i det första book elementet i contosoBooks.xml filen med hjälp av objektet XmlWriter som returneras av InsertAfter metoden.

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");

XmlWriter pages = navigator.InsertAfter();
pages.WriteElementString("pages", "100");
pages.Close();

navigator.MoveToParent();
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 XmlWriter = navigator.InsertAfter()
pages.WriteElementString("pages", "100")
pages.Close()

navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)

Exemplet tar contosoBooks.xml filen som indata.

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

Kommentarer

Följande är viktiga att tänka på när du använder InsertAfter metoden.

Gäller för

InsertAfter(String)

Skapar en ny nod på samma nivå efter den valda noden med den angivna XML-strängen.

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

Parametrar

newSibling
String

XML-datasträngen för den nya syskonnoden.

Undantag

XML-strängparametern är null.

Positionen XPathNavigator för tillåter inte att en ny syskonnod infogas efter den aktuella noden.

Stöder XPathNavigator inte redigering.

XML-strängparametern är inte välformulerad.

Exempel

I följande exempel infogas ett nytt pages element efter det price underordnade elementet i det första book elementet i contosoBooks.xml filen.

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.InsertAfter("<pages>100</pages>");

navigator.MoveToParent();
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.InsertAfter("<pages>100</pages>")

navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)

Exemplet tar contosoBooks.xml filen som indata.

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

Kommentarer

Om du vill skapa en ny elementnod tar du med all XML-syntax i XML-strängparametern. Strängen för en ny book nod är InsertAfter("<book/>"). Strängen för att infoga texten "bok" efter den aktuella nodens textnod är InsertAfter("book"). Om XML-strängen innehåller flera noder läggs alla noder till.

Följande är viktiga att tänka på när du använder InsertAfter metoden.

Gäller för