XPathNavigator.InsertAfter Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un nuovo nodo di pari livello successivo al nodo attualmente selezionato.
Overload
InsertAfter(XPathNavigator) |
Crea un nuovo nodo di pari livello dopo il nodo attualmente selezionato usando i nodi dell'oggetto XPathNavigator specificato. |
InsertAfter(XmlReader) |
Crea un nuovo nodo di pari livello dopo il nodo attualmente selezionato usando il contenuto XML dell'oggetto XmlReader specificato. |
InsertAfter() |
Restituisce un oggetto XmlWriter utilizzato per creare un nuovo nodo di pari livello successivo al nodo attualmente selezionato. |
InsertAfter(String) |
Crea un nuovo nodo di pari livello dopo il nodo attualmente selezionato usando la stringa XML specificata. |
InsertAfter(XPathNavigator)
Crea un nuovo nodo di pari livello dopo il nodo attualmente selezionato usando i nodi dell'oggetto XPathNavigator specificato.
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)
Parametri
- newSibling
- XPathNavigator
Oggetto XPathNavigator posizionato in corrispondenza del nodo da aggiungere come nuovo nodo di pari livello.
Eccezioni
Il parametro dell'oggetto XPathNavigator è null
.
La posizione dell'oggetto XPathNavigator non consente l'inserimento di un nuovo nodo di pari livello dopo il nodo corrente.
XPathNavigator non supporta la modifica.
Esempio
Nell'esempio seguente viene inserito un nuovo pages
elemento dopo l'elemento price
figlio del primo book
elemento nel contosoBooks.xml
file usando il nodo contenuto nell'oggetto XPathNavigator specificato. Lo http://www.contoso.com/books
spazio dei nomi viene specificato in modo che il nuovo elemento di pari livello venga inserito usando lo stesso spazio dei nomi del documento 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)
Nell'esempio il file contosoBooks.xml
viene considerato come input.
<?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>
Commenti
Di seguito sono riportate note importanti da considerare quando si usa il InsertAfter metodo .
Se l'oggetto XmlReader viene posizionato su una sequenza di nodi XML, vengono aggiunti tutti i nodi della sequenza.
Il InsertAfter metodo è valido solo quando l'oggetto XPathNavigator viene posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.
Il InsertAfter metodo non influisce sulla posizione di XPathNavigator.
Si applica a
InsertAfter(XmlReader)
Crea un nuovo nodo di pari livello dopo il nodo attualmente selezionato usando il contenuto XML dell'oggetto XmlReader specificato.
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)
Parametri
- newSibling
- XmlReader
Oggetto XmlReader posizionato in corrispondenza dei dati XML per il nuovo nodo di pari livello.
Eccezioni
L'oggetto XmlReader si trova in uno stato di errore oppure è chiuso.
Il parametro dell'oggetto XmlReader è null
.
La posizione dell'oggetto XPathNavigator non consente l'inserimento di un nuovo nodo di pari livello dopo il nodo corrente.
XPathNavigator non supporta la modifica.
Il formato del contenuto XML del parametro dell'oggetto XmlReader non è corretto.
Esempio
Nell'esempio seguente viene inserito un nuovo pages
elemento dopo l'elemento price
figlio del primo book
elemento nel contosoBooks.xml
file usando l'oggetto XmlReader specificato. Lo http://www.contoso.com/books
spazio dei nomi viene specificato in modo che il nuovo elemento di pari livello venga inserito usando lo stesso spazio dei nomi del documento 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)
Nell'esempio il file contosoBooks.xml
viene considerato come input.
<?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>
Commenti
Di seguito sono riportate note importanti da considerare quando si usa il InsertAfter metodo .
Se l'oggetto XmlReader viene posizionato su una sequenza di nodi XML, vengono aggiunti tutti i nodi della sequenza.
Il InsertAfter metodo è valido solo quando l'oggetto XPathNavigator viene posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.
Il InsertAfter metodo non influisce sulla posizione di XPathNavigator.
Si applica a
InsertAfter()
Restituisce un oggetto XmlWriter utilizzato per creare un nuovo nodo di pari livello successivo al nodo attualmente selezionato.
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
Restituisce
Oggetto XmlWriter usato per creare un nuovo nodo di pari livello successivo al nodo attualmente selezionato.
Eccezioni
La posizione dell'oggetto XPathNavigator non consente l'inserimento di un nuovo nodo di pari livello dopo il nodo corrente.
XPathNavigator non supporta la modifica.
Esempio
Nell'esempio seguente viene inserito un nuovo pages
elemento dopo l'elemento price
figlio del primo book
elemento del contosoBooks.xml
file usando l'oggetto XmlWriter restituito dal InsertAfter metodo .
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)
Nell'esempio il file contosoBooks.xml
viene considerato come input.
<?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>
Commenti
Di seguito sono riportate note importanti da considerare quando si usa il InsertAfter metodo .
Il nuovo nodo di pari livello non viene inserito finché non viene chiamato il Close metodo dell'oggetto XmlWriter .
Il InsertAfter metodo è valido solo quando l'oggetto XPathNavigator viene posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.
Il InsertAfter metodo non influisce sulla posizione di XPathNavigator.
Si applica a
InsertAfter(String)
Crea un nuovo nodo di pari livello dopo il nodo attualmente selezionato usando la stringa XML specificata.
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)
Parametri
- newSibling
- String
Stringa di dati XML per il nuovo nodo di pari livello.
Eccezioni
Il parametro di stringa XML è null
.
La posizione dell'oggetto XPathNavigator non consente l'inserimento di un nuovo nodo di pari livello dopo il nodo corrente.
XPathNavigator non supporta la modifica.
Il formato del parametro di stringa XML non è corretto.
Esempio
Nell'esempio seguente viene inserito un nuovo pages
elemento dopo l'elemento price
figlio del primo book
elemento nel contosoBooks.xml
file.
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)
Nell'esempio il file contosoBooks.xml
viene considerato come input.
<?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>
Commenti
Per creare un nuovo nodo di elemento, includere tutte le sintassi XML nel parametro stringa XML. La stringa per un nuovo book
nodo è InsertAfter("<book/>")
. Stringa per inserire il testo "book" dopo il nodo di testo del nodo corrente è InsertAfter("book")
. Se la stringa XML contiene più nodi, vengono aggiunti tutti i nodi.
Di seguito sono riportate note importanti da considerare quando si usa il InsertAfter metodo .
Il InsertAfter metodo è valido solo quando l'oggetto XPathNavigator viene posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.
Il InsertAfter metodo non influisce sulla posizione di XPathNavigator.