XPathNavigator.InsertElementBefore(String, String, String, String) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria um novo elemento irmão antes do nó atual usando o prefixo do namespace, nome local e 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 de namespace do novo elemento filho (se existir).
- localName
- String
O nome local do novo elemento filho (se existir).
- namespaceURI
- String
O URI do namespace do novo elemento filho (se existir).
Empty e null são equivalentes.
- value
- String
O valor do elemento do novo filho. Se Empty ou null forem ultrapassados, cria-se um elemento vazio.
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 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>
Observações
Os valores do prefixo e URI do espaço de nomes podem ser obtidos usando o LookupPrefix método ou LookupNamespace . Por exemplo, a seguinte sintaxe insere um elemento irmão usando o namespace xmlns:bk="http://www.contoso.com/books"dentro do âmbito :
navigator.InsertElementBefore(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)
Isto cria o novo elemento irmão <bk:pages/> .
Seguem-se as notas importantes a considerar ao utilizar o InsertElementBefore método.
Se o prefixo do espaço de nomes especificado for
nullou String.Empty, então o prefixo para o URI do espaço de nomes do novo elemento é obtido a partir do espaço de nomes atual no âmbito do espaço. Se não houver prefixo de espaço de nomes atribuído ao URI de espaço de nomes especificado no âmbito atual, então um prefixo de espaço de nomes é automaticamente gerado.O InsertElementBefore método é válido apenas quando o XPathNavigator está posicionado num elemento, texto, instrução de processamento ou nó de comentário.
O InsertElementBefore método não afeta a posição do XPathNavigator.