XPathNavigator.InsertElementBefore(String, String, String, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria um novo elemento irmão antes do nó atual usando o prefixo do namespace, o nome local e o URI do namespace especificados, com o valor especificado.
public:
virtual void InsertElementBefore(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void InsertElementBefore(string prefix, string localName, string namespaceURI, string value);
abstract member InsertElementBefore : string * string * string * string -> unit
override this.InsertElementBefore : string * string * string * string -> unit
Public Overridable Sub InsertElementBefore (prefix As String, localName As String, namespaceURI As String, value As String)
Parâmetros
- prefix
- String
O prefixo do namespace do novo elemento filho (se houver).
- localName
- String
O nome local do novo elemento filho (se houver).
- namespaceURI
- String
O URI do namespace do novo elemento filho (se houver).
Empty e null são equivalentes.
- value
- String
O valor do novo elemento filho. Se Empty ou null forem passados, um elemento vazio será criado.
Exceções
A posição do XPathNavigator nó não permite que um novo nó irmão seja inserido antes do nó atual.
O XPathNavigator não dá suporte à edição.
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.InsertElementBefore(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100");
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.InsertElementBefore(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100")
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>
Comentários
Os valores de prefixo e URI do namespace podem ser obtidos usando o método ou LookupNamespace o LookupPrefix método. Por exemplo, a sintaxe a seguir insere um elemento irmão usando o namespace xmlns:bk="http://www.contoso.com/books"no escopo:
navigator.InsertElementBefore(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)
Isso cria o novo elemento irmão <bk:pages/> .
Veja a seguir notas importantes a serem consideradas ao usar o InsertElementBefore método.
Se o prefixo de namespace especificado for
nullou String.Empty, em seguida, o prefixo para o URI do namespace do novo elemento será obtido dos namespaces atuais no escopo. Se não houver nenhum prefixo de namespace atribuído ao URI do namespace especificado no escopo atual, um prefixo de namespace será gerado automaticamente.O InsertElementBefore método é válido somente quando o XPathNavigator elemento é posicionado em um elemento, texto, instrução de processamento ou nó de comentário.
O InsertElementBefore método não afeta a posição do XPathNavigator.