XPathNavigator.InsertBefore 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 prima del nodo attualmente selezionato.
Overload
InsertBefore() |
Restituisce un oggetto XmlWriter utilizzato per creare un nuovo nodo di pari livello prima del nodo attualmente selezionato. |
InsertBefore(String) |
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato usando la stringa XML specificata. |
InsertBefore(XmlReader) |
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato usando il contenuto XML dell'oggetto XmlReader specificato. |
InsertBefore(XPathNavigator) |
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato usando i nodi dell’oggetto XPathNavigator specificato. |
InsertBefore()
Restituisce un oggetto XmlWriter utilizzato per creare un nuovo nodo di pari livello prima del nodo attualmente selezionato.
public:
virtual System::Xml::XmlWriter ^ InsertBefore();
public virtual System.Xml.XmlWriter InsertBefore ();
abstract member InsertBefore : unit -> System.Xml.XmlWriter
override this.InsertBefore : unit -> System.Xml.XmlWriter
Public Overridable Function InsertBefore () As XmlWriter
Restituisce
Oggetto XmlWriter usato per creare un nuovo nodo di pari livello prima del nodo attualmente selezionato.
Eccezioni
La posizione dell'oggetto XPathNavigator non consente l'inserimento di un nuovo nodo di pari livello prima del nodo corrente.
XPathNavigator non supporta la modifica.
Esempio
Nell'esempio seguente viene inserito un nuovo pages
elemento prima price
dell'elemento figlio del primo book
elemento del contosoBooks.xml
file usando l'oggetto XmlWriter restituito dal InsertBefore 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->InsertBefore();
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.InsertBefore();
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.InsertBefore()
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 InsertBefore metodo .
Il nuovo nodo di pari livello non viene inserito finché non viene chiamato il Close metodo dell'oggetto XmlWriter .
Il InsertBefore metodo è valido solo quando l'oggetto XPathNavigator viene posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.
Il InsertBefore metodo non influisce sulla posizione di XPathNavigator.
Si applica a
InsertBefore(String)
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato usando la stringa XML specificata.
public:
virtual void InsertBefore(System::String ^ newSibling);
public virtual void InsertBefore (string newSibling);
abstract member InsertBefore : string -> unit
override this.InsertBefore : string -> unit
Public Overridable Sub InsertBefore (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 prima del nodo corrente.
XPathNavigator non supporta la modifica.
Il formato del parametro di stringa XML non è corretto.
Esempio
Nell'esempio seguente viene inserito un nuovo elemento pages
prima dell'elemento figlio price
del primo elemento book
nel file contosoBooks.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");
navigator->InsertBefore("<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.InsertBefore("<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.InsertBefore("<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 è InsertBefore("<book/>")
. Stringa per inserire il testo "book" prima che il nodo di testo del nodo corrente sia InsertBefore("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 InsertBefore metodo .
Il InsertBefore metodo è valido solo quando l'oggetto XPathNavigator viene posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.
Il InsertBefore metodo non influisce sulla posizione di XPathNavigator.
Si applica a
InsertBefore(XmlReader)
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato usando il contenuto XML dell'oggetto XmlReader specificato.
public:
virtual void InsertBefore(System::Xml::XmlReader ^ newSibling);
public virtual void InsertBefore (System.Xml.XmlReader newSibling);
abstract member InsertBefore : System.Xml.XmlReader -> unit
override this.InsertBefore : System.Xml.XmlReader -> unit
Public Overridable Sub InsertBefore (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 prima del 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 prima dell'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->InsertBefore(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.InsertBefore(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.InsertBefore(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 InsertBefore metodo .
Se l'oggetto XmlReader viene posizionato su una sequenza di nodi XML, vengono aggiunti tutti i nodi della sequenza.
Il InsertBefore metodo è valido solo quando l'oggetto XPathNavigator viene posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.
Il InsertBefore metodo non influisce sulla posizione di XPathNavigator.
Si applica a
InsertBefore(XPathNavigator)
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato usando i nodi dell’oggetto XPathNavigator specificato.
public:
virtual void InsertBefore(System::Xml::XPath::XPathNavigator ^ newSibling);
public virtual void InsertBefore (System.Xml.XPath.XPathNavigator newSibling);
abstract member InsertBefore : System.Xml.XPath.XPathNavigator -> unit
override this.InsertBefore : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub InsertBefore (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 prima del nodo corrente.
XPathNavigator non supporta la modifica.
Esempio
Nell'esempio seguente viene inserito un nuovo pages
elemento prima price
dell'elemento figlio del primo book
elemento del 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->InsertBefore(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.InsertBefore(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.InsertBefore(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 InsertBefore metodo .
Se l'oggetto XPathNavigator viene posizionato su una sequenza di nodi XML, vengono aggiunti tutti i nodi della sequenza.
Il InsertBefore metodo è valido solo quando l'oggetto XPathNavigator viene posizionato su un elemento, testo, istruzione di elaborazione o nodo di commento.
Il InsertBefore metodo non influisce sulla posizione di XPathNavigator.