Udostępnij za pośrednictwem


XPathNavigator.InsertAfter Metoda

Definicja

Tworzy nowy węzeł równorzędny po aktualnie wybranym węźle.

Przeciążenia

InsertAfter(XPathNavigator)

Tworzy nowy węzeł równorzędny po aktualnie wybranym węźle przy użyciu węzłów w XPathNavigator określonym obiekcie.

InsertAfter(XmlReader)

Tworzy nowy węzeł równorzędny po aktualnie wybranym węźle przy użyciu zawartości XML określonego XmlReader obiektu.

InsertAfter()

XmlWriter Zwraca obiekt używany do tworzenia nowego węzła równorzędnego po aktualnie wybranym węźle.

InsertAfter(String)

Tworzy nowy węzeł równorzędny po aktualnie wybranym węźle przy użyciu określonego ciągu XML.

InsertAfter(XPathNavigator)

Tworzy nowy węzeł równorzędny po aktualnie wybranym węźle przy użyciu węzłów w XPathNavigator określonym obiekcie.

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)

Parametry

newSibling
XPathNavigator

XPathNavigator Obiekt umieszczony w węźle, który ma zostać dodany jako nowy węzeł równorzędny.

Wyjątki

XPathNavigator Parametr obiektu to null.

Pozycja węzła XPathNavigator nie zezwala na wstawianie nowego węzła równorzędnego po bieżącym węźle.

Element XPathNavigator nie obsługuje edycji.

Przykłady

W poniższym przykładzie nowy pages element jest wstawiany po price elemedycie podrzędnym pierwszego book elementu w contosoBooks.xml pliku przy użyciu węzła zawartego XPathNavigator w określonym obiekcie. Przestrzeń nazw jest określona http://www.contoso.com/books tak, aby nowy element równorzędny był wstawiany przy użyciu tej samej przestrzeni nazw co dokument XML.

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

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

W przykładzie contosoBooks.xml plik jest pobierany jako dane wejściowe.

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

Uwagi

Poniżej przedstawiono ważne uwagi, które należy wziąć pod uwagę podczas korzystania z InsertAfter metody .

  • XmlReader Jeśli obiekt jest umieszczony w sekwencji węzłów XML, zostaną dodane wszystkie węzły w sekwencji.

  • Metoda jest prawidłowa InsertAfter tylko wtedy, gdy XPathNavigator element jest umieszczony w elemecie, tekście, instrukcji przetwarzania lub węźle komentarza.

  • Metoda InsertAfter nie ma wpływu na położenie obiektu XPathNavigator.

Dotyczy

InsertAfter(XmlReader)

Tworzy nowy węzeł równorzędny po aktualnie wybranym węźle przy użyciu zawartości XML określonego XmlReader obiektu.

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)

Parametry

newSibling
XmlReader

XmlReader Obiekt umieszczony na danych XML dla nowego węzła równorzędnego.

Wyjątki

XmlReader Obiekt jest w stanie błędu lub jest zamknięty.

XmlReader Parametr obiektu to null.

Pozycja węzła XPathNavigator nie zezwala na wstawianie nowego węzła równorzędnego po bieżącym węźle.

Element XPathNavigator nie obsługuje edycji.

Zawartość XML parametru XmlReader obiektu nie jest dobrze sformułowana.

Przykłady

W poniższym przykładzie nowy pages element jest wstawiany po price elemecie podrzędnym pierwszego book elementu w contosoBooks.xml pliku przy użyciu określonego XmlReader obiektu. Przestrzeń nazw jest określona http://www.contoso.com/books tak, aby nowy element równorzędny był wstawiany przy użyciu tej samej przestrzeni nazw co dokument XML.

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

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

W przykładzie contosoBooks.xml plik jest pobierany jako dane wejściowe.

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

Uwagi

Poniżej przedstawiono ważne uwagi, które należy wziąć pod uwagę podczas korzystania z InsertAfter metody .

  • XmlReader Jeśli obiekt jest umieszczony w sekwencji węzłów XML, zostaną dodane wszystkie węzły w sekwencji.

  • Metoda jest prawidłowa InsertAfter tylko wtedy, gdy XPathNavigator element jest umieszczony w elemecie, tekście, instrukcji przetwarzania lub węźle komentarza.

  • Metoda InsertAfter nie ma wpływu na położenie obiektu XPathNavigator.

Dotyczy

InsertAfter()

XmlWriter Zwraca obiekt używany do tworzenia nowego węzła równorzędnego po aktualnie wybranym węźle.

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

Zwraca

XmlWriter

XmlWriter Obiekt używany do tworzenia nowego węzła równorzędnego po aktualnie wybranym węźle.

Wyjątki

Pozycja węzła XPathNavigator nie zezwala na wstawianie nowego węzła równorzędnego po bieżącym węźle.

Element XPathNavigator nie obsługuje edycji.

Przykłady

W poniższym przykładzie nowy pages element jest wstawiany po price elemedycie podrzędnym pierwszego book elementu w contosoBooks.xml pliku przy użyciu XmlWriter obiektu zwróconego przez metodę InsertAfter .

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

XmlWriter^ pages = navigator->InsertAfter();
pages->WriteElementString("pages", "100");
pages->Close();

navigator->MoveToParent();
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");

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)

W przykładzie contosoBooks.xml plik jest pobierany jako dane wejściowe.

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

Uwagi

Poniżej przedstawiono ważne uwagi, które należy wziąć pod uwagę podczas korzystania z InsertAfter metody .

  • Nowy węzeł równorzędny nie jest wstawiany do momentu Close wywołania XmlWriter metody obiektu.

  • Metoda jest prawidłowa InsertAfter tylko wtedy, gdy XPathNavigator element jest umieszczony w elemecie, tekście, instrukcji przetwarzania lub węźle komentarza.

  • Metoda InsertAfter nie ma wpływu na położenie obiektu XPathNavigator.

Dotyczy

InsertAfter(String)

Tworzy nowy węzeł równorzędny po aktualnie wybranym węźle przy użyciu określonego ciągu XML.

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)

Parametry

newSibling
String

Ciąg danych XML dla nowego węzła równorzędnego.

Wyjątki

Parametr ciągu XML to null.

Pozycja węzła XPathNavigator nie zezwala na wstawianie nowego węzła równorzędnego po bieżącym węźle.

Element XPathNavigator nie obsługuje edycji.

Parametr ciągu XML nie jest dobrze sformułowany.

Przykłady

W poniższym przykładzie nowy pages element jest wstawiany po price elemedycie contosoBooks.xml podrzędnym pierwszego book elementu w pliku.

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

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

W przykładzie contosoBooks.xml plik jest pobierany jako dane wejściowe.

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

Uwagi

Aby utworzyć nowy węzeł elementu, dołącz całą składnię XML do parametru ciągu XML. Ciąg nowego book węzła to InsertAfter("<book/>"). Ciąg do wstawiania tekstu "book" po węźle tekstowym bieżącego węzła to InsertAfter("book"). Jeśli ciąg XML zawiera wiele węzłów, zostaną dodane wszystkie węzły.

Poniżej przedstawiono ważne uwagi, które należy wziąć pod uwagę podczas korzystania z InsertAfter metody .

Dotyczy