XPathNavigator.InsertBefore Método

Definição

Cria um novo nó irmão antes do nó atualmente selecionado.

Sobrecargas

Name Description
InsertBefore()

Devolve um XmlWriter objeto usado para criar um novo nó irmão antes do nó atualmente selecionado.

InsertBefore(String)

Cria um novo nó irmão antes do nó atualmente selecionado usando a string XML especificada.

InsertBefore(XmlReader)

Cria um novo nó irmão antes do nó atualmente selecionado usando o conteúdo XML do XmlReader objeto especificado.

InsertBefore(XPathNavigator)

Cria um novo nó irmão antes do nó atualmente selecionado usando os nós especificados XPathNavigator .

InsertBefore()

Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs

Devolve um XmlWriter objeto usado para criar um novo nó irmão antes do nó atualmente selecionado.

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

Devoluções

Um XmlWriter objeto usado para criar um novo nó irmão antes do nó atualmente selecionado.

Exceções

A posição do XPathNavigator não permite inserir um novo nó irmão antes do nó atual.

Não XPathNavigator suporta edição.

Exemplos

No exemplo seguinte, um novo pages elemento é inserido antes do price elemento filho do primeiro book elemento do contosoBooks.xml ficheiro usando o XmlWriter objeto devolvido pelo InsertBefore método.

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 contosoBooks.xml arquivo como uma entrada.

<?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>

Observações

Seguem-se as notas importantes a considerar ao utilizar o InsertBefore método.

Aplica-se a

InsertBefore(String)

Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs

Cria um novo nó irmão antes do nó atualmente selecionado usando a string XML especificada.

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.

Exceções

O parâmetro de string XML é null.

A posição do XPathNavigator não permite inserir um novo nó irmão antes do nó atual.

Não XPathNavigator suporta edição.

O parâmetro de string XML não está bem formado.

Exemplos

No exemplo a seguir, um novo pages elemento é inserido antes do price elemento filho do primeiro book elemento no contosoBooks.xml arquivo.

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 contosoBooks.xml arquivo como uma entrada.

<?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>

Observações

Para criar um novo nó de elemento, inclua toda a sintaxe XML no parâmetro da string XML. A cadeia para um novo book nó é InsertBefore("<book/>"). A cadeia para inserir o "livro" de texto antes do nó de texto do nó atual é InsertBefore("book"). Se a cadeia XML contiver múltiplos nós, todos os nós são adicionados.

Seguem-se as notas importantes a considerar ao utilizar o InsertBefore método.

Aplica-se a

InsertBefore(XmlReader)

Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs

Cria um novo nó irmão antes do nó atualmente selecionado usando o conteúdo XML do XmlReader objeto especificado.

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 XmlReader objeto posicionado nos dados XML para o novo nó irmão.

Exceções

O XmlReader objeto está num estado de erro ou fechado.

O XmlReader parâmetro do objeto é null.

A posição do XPathNavigator não permite inserir um novo nó irmão antes do nó atual.

Não XPathNavigator suporta edição.

O conteúdo XML do XmlReader parâmetro do objeto não está bem formado.

Exemplos

No exemplo seguinte, um novo pages elemento é inserido antes do price elemento filho do primeiro book elemento do contosoBooks.xml ficheiro usando o XmlReader objeto especificado. O http://www.contoso.com/books namespace é especificado de modo a que o novo elemento irmão seja inserido usando o mesmo namespace do 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)

O exemplo usa o contosoBooks.xml arquivo como uma entrada.

<?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>

Observações

Seguem-se as notas importantes a considerar ao utilizar o InsertBefore método.

  • Se o XmlReader objeto estiver posicionado sobre uma sequência de nós XML, todos os nós da sequência são adicionados.

  • O InsertBefore método é válido apenas quando o XPathNavigator está posicionado num elemento, texto, instrução de processamento ou nó de comentário.

  • O InsertBefore método não afeta a posição do XPathNavigator.

Aplica-se a

InsertBefore(XPathNavigator)

Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs
Origem:
XPathNavigator.cs

Cria um novo nó irmão antes do nó atualmente selecionado usando os nós especificados XPathNavigator .

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 XPathNavigator objeto posicionado no nó para adicionar como novo nó irmão.

Exceções

O XPathNavigator parâmetro do objeto é null.

A posição do XPathNavigator não permite inserir um novo nó irmão antes do nó atual.

Não XPathNavigator suporta edição.

Exemplos

No exemplo seguinte, um novo pages elemento é inserido antes do price elemento filho do primeiro book elemento do contosoBooks.xml ficheiro usando o nó contido no XPathNavigator objeto especificado. O http://www.contoso.com/books namespace é especificado de modo a que o novo elemento irmão seja inserido usando o mesmo namespace do 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)

O exemplo usa o contosoBooks.xml arquivo como uma entrada.

<?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>

Observações

Seguem-se as notas importantes a considerar ao utilizar o InsertBefore método.

  • Se o XPathNavigator objeto estiver posicionado sobre uma sequência de nós XML, todos os nós da sequência são adicionados.

  • O InsertBefore método é válido apenas quando o XPathNavigator está posicionado num elemento, texto, instrução de processamento ou nó de comentário.

  • O InsertBefore método não afeta a posição do XPathNavigator.

Aplica-se a