XPathNavigator.InsertAfter Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří nový uzel se seznamem po aktuálně vybraném uzlu.
Přetížení
InsertAfter(XPathNavigator) |
Vytvoří nový uzel se seznamem po aktuálně vybraném uzlu pomocí uzlů v zadaném objektu XPathNavigator . |
InsertAfter(XmlReader) |
Vytvoří nový uzel se seznamem po aktuálně vybraném uzlu pomocí obsahu XML zadaného objektu XmlReader . |
InsertAfter() |
XmlWriter Vrátí objekt použitý k vytvoření nového uzlu na stejné úrovni po aktuálně vybraném uzlu. |
InsertAfter(String) |
Vytvoří nový uzel se seznamem po aktuálně vybraném uzlu pomocí zadaného řetězce XML. |
InsertAfter(XPathNavigator)
Vytvoří nový uzel se seznamem po aktuálně vybraném uzlu pomocí uzlů v zadaném objektu XPathNavigator .
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
Objekt XPathNavigator umístěný na uzlu, který se má přidat jako nový uzel na stejné úrovni.
Výjimky
Parametr objektu XPathNavigator je null
.
Pozice XPathNavigator uzlu neumožňuje vložení nového uzlu na stejné úrovni za aktuální uzel.
Nepodporuje XPathNavigator úpravy.
Příklady
V následujícím příkladu se nový pages
prvek vloží za price
podřízený prvek prvního book
prvku v contosoBooks.xml
souboru pomocí uzlu obsaženého v objektu zadaném XPathNavigator . Obor http://www.contoso.com/books
názvů je zadán tak, aby se nový prvek sesílání se stejným oborem názvů jako dokument XML vložil.
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)
Příklad vezme contosoBooks.xml
soubor jako vstup.
<?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>
Poznámky
Při používání InsertAfter metody je potřeba vzít v úvahu následující důležité poznámky.
XmlReader Pokud se objekt umístí na posloupnost uzlů XML, přidají se všechny uzly v sekvenci.
Metoda InsertAfter je platná pouze v případě, že XPathNavigator je umístěn na elementu, textu, zpracování instrukce nebo uzlu komentáře.
Metoda InsertAfter nemá vliv na pozici XPathNavigator.
Platí pro
InsertAfter(XmlReader)
Vytvoří nový uzel se seznamem po aktuálně vybraném uzlu pomocí obsahu XML zadaného objektu XmlReader .
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
Výjimky
Objekt XmlReader je ve stavu chyby nebo je zavřený.
Parametr objektu XmlReader je null
.
Pozice XPathNavigator uzlu neumožňuje vložení nového uzlu na stejné úrovni za aktuální uzel.
Nepodporuje XPathNavigator úpravy.
Obsah XML parametru objektu XmlReader není správně vytvořen.
Příklady
V následujícím příkladu se nový pages
prvek vloží za price
podřízený prvek prvního book
prvku v contosoBooks.xml
souboru pomocí zadaného objektu XmlReader . Obor http://www.contoso.com/books
názvů je zadán tak, aby se nový prvek sesílání se stejným oborem názvů jako dokument XML vložil.
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)
Příklad vezme contosoBooks.xml
soubor jako vstup.
<?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>
Poznámky
Při používání InsertAfter metody je potřeba vzít v úvahu následující důležité poznámky.
XmlReader Pokud se objekt umístí na posloupnost uzlů XML, přidají se všechny uzly v sekvenci.
Metoda InsertAfter je platná pouze v případě, že XPathNavigator je umístěn na elementu, textu, zpracování instrukce nebo uzlu komentáře.
Metoda InsertAfter nemá vliv na pozici XPathNavigator.
Platí pro
InsertAfter()
XmlWriter Vrátí objekt použitý k vytvoření nového uzlu na stejné úrovni po aktuálně vybraném uzlu.
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
Návraty
Objekt XmlWriter použitý k vytvoření nového uzlu na stejné úrovni po aktuálně vybraném uzlu.
Výjimky
Pozice XPathNavigator uzlu neumožňuje vložení nového uzlu na stejné úrovni za aktuální uzel.
Nepodporuje XPathNavigator úpravy.
Příklady
V následujícím příkladu se nový pages
prvek vloží za price
podřízený prvek prvního book
prvku v contosoBooks.xml
souboru pomocí objektu XmlWriter vráceného metodou 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)
Příklad vezme contosoBooks.xml
soubor jako vstup.
<?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>
Poznámky
Při používání InsertAfter metody je potřeba vzít v úvahu následující důležité poznámky.
Nový uzel na stejné úrovni není vložen, dokud Close není volána metoda objektu XmlWriter .
Metoda InsertAfter je platná pouze v případě, že XPathNavigator je umístěn na elementu, textu, zpracování instrukce nebo uzlu komentáře.
Metoda InsertAfter nemá vliv na pozici XPathNavigator.
Platí pro
InsertAfter(String)
Vytvoří nový uzel se seznamem po aktuálně vybraném uzlu pomocí zadaného řetězce 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
Datový řetězec XML pro nový uzel seblízem.
Výjimky
Parametr řetězce XML je null
.
Pozice XPathNavigator uzlu neumožňuje vložení nového uzlu na stejné úrovni za aktuální uzel.
Nepodporuje XPathNavigator úpravy.
Parametr řetězce XML není správně vytvořen.
Příklady
V následujícím příkladu se nový pages
prvek vloží za price
podřízený prvek prvního book
prvku v contosoBooks.xml
souboru.
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)
Příklad vezme contosoBooks.xml
soubor jako vstup.
<?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>
Poznámky
Pokud chcete vytvořit nový uzel elementu, zahrňte do parametru řetězce XML veškerou syntaxi XML. Řetězec nového book
uzlu je InsertAfter("<book/>")
. Řetězec pro vložení textu "book" za textový uzel aktuálního uzlu je InsertAfter("book")
. Pokud řetězec XML obsahuje více uzlů, přidají se všechny uzly.
Při používání InsertAfter metody je potřeba vzít v úvahu následující důležité poznámky.
Metoda InsertAfter je platná pouze v případě, že XPathNavigator je umístěn na elementu, textu, zpracování instrukce nebo uzlu komentáře.
Metoda InsertAfter nemá vliv na pozici XPathNavigator.