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
| Nome | Descrizione |
|---|---|
| InsertBefore() |
Restituisce un XmlWriter oggetto 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 utilizzando la stringa XML specificata. |
| InsertBefore(XmlReader) |
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato utilizzando il contenuto XML dell'oggetto XmlReader specificato. |
| InsertBefore(XPathNavigator) |
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato usando i nodi nell'oggetto XPathNavigator specificato. |
InsertBefore()
Restituisce un XmlWriter oggetto 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
Valori restituiti
Oggetto XmlWriter utilizzato per creare un nuovo nodo di pari livello prima del nodo attualmente selezionato.
Eccezioni
La posizione di non consente l'inserimento XPathNavigator di un nuovo nodo di pari livello prima del nodo corrente.
l'oggetto XPathNavigator non supporta la modifica.
Esempio
Nell'esempio seguente viene inserito un nuovo pages elemento prima dell'elemento price figlio del primo book elemento nel contosoBooks.xml file utilizzando l'oggetto XmlWriter restituito dal InsertBefore metodo .
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)
L'esempio accetta il contosoBooks.xml file 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 è posizionato su un elemento, testo, istruzione di elaborazione o nodo commento.
Il InsertBefore metodo non influisce sulla posizione dell'oggetto XPathNavigator.
Si applica a
InsertBefore(String)
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato utilizzando 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 stringa XML è null.
La posizione di non consente l'inserimento XPathNavigator di un nuovo nodo di pari livello prima del nodo corrente.
l'oggetto XPathNavigator non supporta la modifica.
Il parametro stringa XML non è ben formato.
Esempio
Nell'esempio seguente viene inserito un nuovo pages elemento prima dell'elemento price figlio del primo book elemento nel contosoBooks.xml file.
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)
L'esempio accetta il contosoBooks.xml file 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 elemento, includere tutta la sintassi XML nel parametro stringa XML. La stringa per un nuovo book nodo è InsertBefore("<book/>"). Stringa per l'inserimento del 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 è posizionato su un elemento, testo, istruzione di elaborazione o nodo commento.
Il InsertBefore metodo non influisce sulla posizione dell'oggetto XPathNavigator.
Si applica a
InsertBefore(XmlReader)
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato utilizzando 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
Eccezioni
L'oggetto XmlReader si trova in uno stato di errore o chiuso.
Il parametro dell'oggetto XmlReader è null.
La posizione di non consente l'inserimento XPathNavigator di un nuovo nodo di pari livello prima del nodo corrente.
l'oggetto XPathNavigator non supporta la modifica.
Il contenuto XML del parametro dell'oggetto XmlReader non è ben formato.
Esempio
Nell'esempio seguente viene inserito un nuovo pages elemento prima dell'elemento price figlio del primo book elemento nel contosoBooks.xml file utilizzando 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 utilizzando lo stesso spazio dei nomi del documento XML.
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)
L'esempio accetta il contosoBooks.xml file 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 è posizionato su un elemento, testo, istruzione di elaborazione o nodo commento.
Il InsertBefore metodo non influisce sulla posizione dell'oggetto XPathNavigator.
Si applica a
InsertBefore(XPathNavigator)
Crea un nuovo nodo di pari livello prima del nodo attualmente selezionato usando i nodi nell'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 nel nodo da aggiungere come nuovo nodo di pari livello.
Eccezioni
Il parametro dell'oggetto XPathNavigator è null.
La posizione di non consente l'inserimento XPathNavigator di un nuovo nodo di pari livello prima del nodo corrente.
l'oggetto XPathNavigator non supporta la modifica.
Esempio
Nell'esempio seguente viene inserito un nuovo pages elemento prima dell'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 utilizzando lo stesso spazio dei nomi del documento XML.
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)
L'esempio accetta il contosoBooks.xml file 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 è posizionato su un elemento, testo, istruzione di elaborazione o nodo commento.
Il InsertBefore metodo non influisce sulla posizione dell'oggetto XPathNavigator.