XPathNavigator.InsertBefore Metodo

Definizione

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 .

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

newSibling
XmlReader

Oggetto XmlReader posizionato sui dati XML per il nuovo nodo di pari livello.

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.

Si applica a