XPathNavigator.InsertAfter Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 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 .
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.