XPathNavigator.InsertBefore Método

Definição

Cria um novo nó irmão antes do nó atualmente selecionado.Creates a new sibling node before the currently selected node.

Sobrecargas

InsertBefore()

Retorna um objeto XmlWriter usado para criar um novo nó irmão antes do nó atualmente selecionado.Returns an XmlWriter object used to create a new sibling node before the currently selected node.

InsertBefore(String)

Cria um novo nó irmão antes do nó atualmente selecionado, usando a cadeia de caracteres XML especificada.Creates a new sibling node before the currently selected node using the XML string specified.

InsertBefore(XmlReader)

Cria um novo nó irmão antes do nó atualmente selecionado, usando o conteúdo XML do objeto XmlReader especificado.Creates a new sibling node before the currently selected node using the XML contents of the XmlReader object specified.

InsertBefore(XPathNavigator)

Cria um novo nó irmão antes do nó atualmente selecionado, usando os nós no XPathNavigator especificado.Creates a new sibling node before the currently selected node using the nodes in the XPathNavigator specified.

InsertBefore()

Retorna um objeto XmlWriter usado para criar um novo nó irmão antes do nó atualmente selecionado.Returns an XmlWriter object used to create a new sibling node before the currently selected node.

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

Retornos

XmlWriter

Um objeto XmlWriter usado para criar um novo nó irmão antes do nó atualmente selecionado.An XmlWriter object used to create a new sibling node before the currently selected node.

Exceções

A posição do XPathNavigator não permite que um novo nó irmão seja inserido antes do nó atual.The position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.

O XPathNavigator não dá suporte à edição.The XPathNavigator does not support editing.

Exemplos

No exemplo a seguir, um novo pages elemento é inserido antes do price elemento filho do primeiro book elemento no contosoBooks.xml arquivo usando o XmlWriter objeto retornado pelo InsertBefore método.In the following example a new pages element is inserted before the price child element of the first book element in the contosoBooks.xml file using the XmlWriter object returned by the InsertBefore method.

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)

O exemplo usa o arquivo contosoBooks.xml como entrada.The example takes the contosoBooks.xml file as an 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>  

Comentários

Veja a seguir as observações importantes a serem consideradas ao usar o InsertBefore método.The following are important notes to consider when using the InsertBefore method.

Aplica-se a

InsertBefore(String)

Cria um novo nó irmão antes do nó atualmente selecionado, usando a cadeia de caracteres XML especificada.Creates a new sibling node before the currently selected node using the XML string specified.

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)

Parâmetros

newSibling
String

A cadeia de dados XML para o novo nó irmão.The XML data string for the new sibling node.

Exceções

O parâmetro da cadeia de caracteres XML é null.The XML string parameter is null.

A posição do XPathNavigator não permite que um novo nó irmão seja inserido antes do nó atual.The position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.

O XPathNavigator não dá suporte à edição.The XPathNavigator does not support editing.

O parâmetro da cadeia de caracteres XML não está bem formado.The XML string parameter is not well-formed.

Exemplos

No exemplo a seguir um novo elemento de pages é inserido antes que o elemento filho de price do primeiro elemento de book no arquivo de contosoBooks.xml .In the following example a new pages element is inserted before the price child element of the first book element in the 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->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)

O exemplo usa o arquivo contosoBooks.xml como entrada.The example takes the contosoBooks.xml file as an 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>  

Comentários

Para criar um novo nó de elemento, inclua toda a sintaxe XML no parâmetro de cadeia de caracteres XML.To create a new element node, include all XML syntax in the XML string parameter. A cadeia de caracteres para um novo book nó é InsertBefore("<book/>") .The string for a new book node is InsertBefore("<book/>"). A cadeia de caracteres para inserir o texto "Book" antes do nó de texto do nó atual InsertBefore("book") .The string for inserting the text "book" before the current node's text node is InsertBefore("book"). Se a cadeia de caracteres XML contiver vários nós, todos os nós serão adicionados.If the XML string contains multiple nodes, all nodes are added.

Veja a seguir as observações importantes a serem consideradas ao usar o InsertBefore método.The following are important notes to consider when using the InsertBefore method.

Aplica-se a

InsertBefore(XmlReader)

Cria um novo nó irmão antes do nó atualmente selecionado, usando o conteúdo XML do objeto XmlReader especificado.Creates a new sibling node before the currently selected node using the XML contents of the XmlReader object specified.

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)

Parâmetros

newSibling
XmlReader

Um objeto XmlReader posicionado nos dados XML para o novo nó irmão.An XmlReader object positioned on the XML data for the new sibling node.

Exceções

O objeto XmlReader está em um estado de erro ou fechado.The XmlReader object is in an error state or closed.

O parâmetro do objeto XmlReader é null.The XmlReader object parameter is null.

A posição do XPathNavigator não permite que um novo nó irmão seja inserido antes do nó atual.The position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.

O XPathNavigator não dá suporte à edição.The XPathNavigator does not support editing.

O conteúdo XML do parâmetro de objeto XmlReader não está bem formado.The XML contents of the XmlReader object parameter is not well-formed.

Exemplos

No exemplo a seguir, um novo pages elemento é inserido antes do price elemento filho do primeiro book elemento no contosoBooks.xml arquivo usando o XmlReader objeto especificado.In the following example a new pages element is inserted before the price child element of the first book element in the contosoBooks.xml file using the XmlReader object specified. O http://www.contoso.com/books namespace é especificado para que o novo elemento irmão seja inserido usando o mesmo namespace que o documento XML.The http://www.contoso.com/books namespace is specified so that the new sibling element is inserted using the same namespace as the XML document.

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)

O exemplo usa o arquivo contosoBooks.xml como entrada.The example takes the contosoBooks.xml file as an 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>  

Comentários

Veja a seguir as observações importantes a serem consideradas ao usar o InsertBefore método.The following are important notes to consider when using the InsertBefore method.

  • Se o XmlReader objeto estiver posicionado sobre uma sequência de nós XML, todos os nós na sequência serão adicionados.If the XmlReader object is positioned over a sequence of XML nodes, all the nodes in the sequence are added.

  • O InsertBefore método é válido somente quando o XPathNavigator está posicionado em um elemento, texto, instrução de processamento ou nó de comentário.The InsertBefore method is valid only when the XPathNavigator is positioned on an element, text, processing instruction, or comment node.

  • O InsertBefore método não afeta a posição do XPathNavigator .The InsertBefore method does not affect the position of the XPathNavigator.

Aplica-se a

InsertBefore(XPathNavigator)

Cria um novo nó irmão antes do nó atualmente selecionado, usando os nós no XPathNavigator especificado.Creates a new sibling node before the currently selected node using the nodes in the XPathNavigator specified.

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)

Parâmetros

newSibling
XPathNavigator

Um objeto XPathNavigator posicionado no nó a ser adicionado como o novo nó irmão.An XPathNavigator object positioned on the node to add as the new sibling node.

Exceções

O parâmetro do objeto XPathNavigator é null.The XPathNavigator object parameter is null.

A posição do XPathNavigator não permite que um novo nó irmão seja inserido antes do nó atual.The position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.

O XPathNavigator não dá suporte à edição.The XPathNavigator does not support editing.

Exemplos

No exemplo a seguir, um novo pages elemento é inserido antes do price elemento filho do primeiro book elemento no contosoBooks.xml arquivo usando o nó contido no XPathNavigator objeto especificado.In the following example a new pages element is inserted before the price child element of the first book element in the contosoBooks.xml file using the node contained in the XPathNavigator object specified. O http://www.contoso.com/books namespace é especificado para que o novo elemento irmão seja inserido usando o mesmo namespace que o documento XML.The http://www.contoso.com/books namespace is specified so that the new sibling element is inserted using the same namespace as the XML document.

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)

O exemplo usa o arquivo contosoBooks.xml como entrada.The example takes the contosoBooks.xml file as an 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>  

Comentários

Veja a seguir as observações importantes a serem consideradas ao usar o InsertBefore método.The following are important notes to consider when using the InsertBefore method.

  • Se o XPathNavigator objeto estiver posicionado sobre uma sequência de nós XML, todos os nós na sequência serão adicionados.If the XPathNavigator object is positioned over a sequence of XML nodes, all the nodes in the sequence are added.

  • O InsertBefore método é válido somente quando o XPathNavigator está posicionado em um elemento, texto, instrução de processamento ou nó de comentário.The InsertBefore method is valid only when the XPathNavigator is positioned on an element, text, processing instruction, or comment node.

  • O InsertBefore método não afeta a posição do XPathNavigator .The InsertBefore method does not affect the position of the XPathNavigator.

Aplica-se a