XPathNavigator.InsertElementAfter(String, String, String, String) Método

Definición

Crea un nuevo elemento relacionado detrás del nodo actual mediante el prefijo de espacio de nombres, el nombre local y el URI de espacio de nombres especificado con el valor seleccionado.

public:
 virtual void InsertElementAfter(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void InsertElementAfter (string prefix, string localName, string namespaceURI, string value);
public virtual void InsertElementAfter (string? prefix, string localName, string? namespaceURI, string? value);
abstract member InsertElementAfter : string * string * string * string -> unit
override this.InsertElementAfter : string * string * string * string -> unit
Public Overridable Sub InsertElementAfter (prefix As String, localName As String, namespaceURI As String, value As String)

Parámetros

prefix
String

Prefijo del espacio de nombres del nuevo elemento secundario (si lo hay).

localName
String

Nombre local del nuevo elemento secundario (si lo hay).

namespaceURI
String

Identificador URI de espacio de nombres del nuevo elemento secundario (si lo hay). Empty y null son equivalentes.

value
String

Valor del nuevo elemento secundario. Si se pasan Empty o null, se crea un elemento vacío.

Excepciones

La posición del XPathNavigator no permite introducir un nuevo nodo relacionado detrás del nodo actual.

XPathNavigator no admite la edición.

Ejemplos

En el ejemplo siguiente, se inserta un nuevo pages elemento después del price elemento secundario del primer book elemento del contosoBooks.xml archivo.

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->InsertElementAfter(navigator->Prefix, "pages", navigator->LookupNamespace(navigator->Prefix), "100");

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.InsertElementAfter(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.InsertElementAfter(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100")

navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)

En el ejemplo se toma como entrada el archivo contosoBooks.xml.

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

Comentarios

Los valores de prefijo y URI del espacio de nombres se pueden obtener mediante el LookupPrefix método o LookupNamespace . Por ejemplo, la sintaxis siguiente inserta un elemento relacionado mediante el espacio de nombres xmlns:bk="http://www.contoso.com/books"en el ámbito :

navigator.InsertElementAfter(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)  

Esto crea el nuevo elemento relacionado <bk:pages/> .

A continuación se muestran notas importantes que se deben tener en cuenta al usar el InsertElementAfter método .

  • Si el prefijo de espacio de nombres especificado es null o String.Empty, el prefijo para el URI de espacio de nombres del nuevo elemento se obtiene de los espacios de nombres actuales en el ámbito. Si no hay ningún prefijo de espacio de nombres asignado al URI de espacio de nombres especificado en el ámbito actual, se genera automáticamente un prefijo de espacio de nombres.

  • El InsertElementAfter método solo es válido cuando XPathNavigator se coloca en un elemento, texto, instrucción de procesamiento o nodo de comentario.

  • El InsertElementAfter método no afecta a la posición de XPathNavigator.

Se aplica a