Compartir a través de


XPathNavigator.AppendChild Método

Definición

Crea un nuevo nodo secundario al final de la lista de nodos secundarios del nodo actual.

Sobrecargas

AppendChild()

Devuelve un objeto XmlWriter utilizado para crear uno más nuevos nodos secundarios al final de la lista de nodos secundarios del nodo actual.

AppendChild(String)

Crea un nuevo nodo secundario al final de la lista de nodos secundarios del nodo actual usando la cadena de datos XML especificada.

AppendChild(XmlReader)

Crea un nuevo nodo secundario al final de la lista de nodos secundarios del nodo actual mediante el contenido XML del objeto XmlReader especificado.

AppendChild(XPathNavigator)

Crea un nuevo nodo secundario al final de la lista de nodos secundarios del nodo actual mediante los nodos del XPathNavigator especificado.

AppendChild()

Devuelve un objeto XmlWriter utilizado para crear uno más nuevos nodos secundarios al final de la lista de nodos secundarios del nodo actual.

public:
 virtual System::Xml::XmlWriter ^ AppendChild();
public virtual System.Xml.XmlWriter AppendChild ();
abstract member AppendChild : unit -> System.Xml.XmlWriter
override this.AppendChild : unit -> System.Xml.XmlWriter
Public Overridable Function AppendChild () As XmlWriter

Devoluciones

XmlWriter

Objeto XmlWriter usado para crear nodos secundarios nuevos al final de la lista de nodos secundarios del nodo actual.

Excepciones

El nodo actual en el que está colocado XPathNavigator no es el nodo raíz o un nodo de elementos.

XPathNavigator no admite la edición.

Ejemplos

En el ejemplo siguiente, se anexa un nuevo pages elemento secundario a la lista de elementos secundarios del primer book elemento del contosoBooks.xml archivo mediante el XmlWriter objeto devuelto por el AppendChild método .

    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");

    XmlWriter^ pages = navigator->AppendChild();
    pages->WriteElementString("pages", "100");
    pages->Close();

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");

XmlWriter pages = navigator.AppendChild();
pages.WriteElementString("pages", "100");
pages.Close();

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")

Dim pages As XmlWriter = navigator.AppendChild()
pages.WriteElementString("pages", "100")
pages.Close()

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

Al anexar nodos secundarios, se agregan los nuevos nodos al final de la lista de nodos secundarios para el nodo actual. Por ejemplo, cuando existen tres nodos secundarios para un elemento, el primer nodo anexado se convierte en el cuarto nodo secundario. Si no existe ningún nodo secundario, se crea un nuevo nodo secundario.

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

Puede escribir más de un nodo en el escritor. Todos los nodos se anexan al final de la lista de nodos secundarios del nodo actual.

Se aplica a

AppendChild(String)

Crea un nuevo nodo secundario al final de la lista de nodos secundarios del nodo actual usando la cadena de datos XML especificada.

public:
 virtual void AppendChild(System::String ^ newChild);
public virtual void AppendChild (string newChild);
abstract member AppendChild : string -> unit
override this.AppendChild : string -> unit
Public Overridable Sub AppendChild (newChild As String)

Parámetros

newChild
String

Cadena de datos XML del nuevo nodo secundario.

Excepciones

El parámetro de cadena de datos XML es null.

El nodo actual en el que está colocado XPathNavigator no es el nodo raíz o un nodo de elementos.

XPathNavigator no admite la edición.

El parámetro de cadena de datos XML no tiene un formato correcto.

Ejemplos

En el siguiente ejemplo se agrega un nuevo elemento secundario pages a la lista de elementos secundarios del primer elemento book del archivo contosoBooks.xml.

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->AppendChild("<pages>100</pages>");

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.AppendChild("<pages>100</pages>");

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.AppendChild("<pages>100</pages>")

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

Al anexar un nodo secundario, se agrega el nuevo nodo al final de la lista de nodos secundarios para el nodo actual. Por ejemplo, cuando existen tres nodos secundarios para un elemento, el nodo anexado se convierte en el cuarto nodo secundario. Si no existe ningún nodo secundario, se crea un nuevo nodo secundario.

Para crear un nuevo nodo de elemento, incluya toda la sintaxis XML en el parámetro de cadena XML. La cadena de un nuevo book nodo es AppendChild("<book/>"). La cadena para anexar el texto "book" al nodo de texto del nodo actual es AppendChild("book"). Si la cadena XML contiene varios nodos, se agregan todos los nodos.

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

Se aplica a

AppendChild(XmlReader)

Crea un nuevo nodo secundario al final de la lista de nodos secundarios del nodo actual mediante el contenido XML del objeto XmlReader especificado.

public:
 virtual void AppendChild(System::Xml::XmlReader ^ newChild);
public virtual void AppendChild (System.Xml.XmlReader newChild);
abstract member AppendChild : System.Xml.XmlReader -> unit
override this.AppendChild : System.Xml.XmlReader -> unit
Public Overridable Sub AppendChild (newChild As XmlReader)

Parámetros

newChild
XmlReader

Objeto XmlReader colocado en los datos XML del nuevo nodo secundario.

Excepciones

El objeto XmlReader está en un estado de error o cerrado.

El parámetro del objeto XmlReader es null.

El nodo actual en el que está colocado XPathNavigator no es el nodo raíz o un nodo de elementos.

XPathNavigator no admite la edición.

El contenido XML del parámetro de objeto XmlReader no está bien formado.

Ejemplos

En el ejemplo siguiente, se anexa un nuevo pages elemento secundario a la lista de elementos secundarios del primer book elemento del contosoBooks.xml archivo mediante el XmlReader objeto especificado. El http://www.contoso.com/books espacio de nombres se especifica para que el nuevo elemento secundario se anexe con el mismo espacio de nombres que el documento XML.

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");

XmlReader^ pages = XmlReader::Create(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator->AppendChild(pages);

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");

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.AppendChild(pages);

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")

Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))

navigator.AppendChild(pages)

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

Al anexar un nodo secundario, se agrega el nuevo nodo al final de la lista de nodos secundarios para el nodo actual. Por ejemplo, cuando existen tres nodos secundarios para un elemento, el nodo anexado se convierte en el cuarto nodo secundario. Si no existe ningún nodo secundario, se crea un nuevo nodo secundario.

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

Se aplica a

AppendChild(XPathNavigator)

Crea un nuevo nodo secundario al final de la lista de nodos secundarios del nodo actual mediante los nodos del XPathNavigator especificado.

public:
 virtual void AppendChild(System::Xml::XPath::XPathNavigator ^ newChild);
public virtual void AppendChild (System.Xml.XPath.XPathNavigator newChild);
abstract member AppendChild : System.Xml.XPath.XPathNavigator -> unit
override this.AppendChild : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub AppendChild (newChild As XPathNavigator)

Parámetros

newChild
XPathNavigator

Objeto XPathNavigator colocado en el nodo para agregarlo como nuevo nodo secundario.

Excepciones

El parámetro del objeto XPathNavigator es null.

El nodo actual en el que está colocado XPathNavigator no es el nodo raíz o un nodo de elementos.

XPathNavigator no admite la edición.

Ejemplos

En el ejemplo siguiente, se anexa un nuevo pages elemento secundario a la lista de elementos secundarios del primer book elemento del contosoBooks.xml archivo mediante el nodo contenido en el XPathNavigator especificado. El http://www.contoso.com/books espacio de nombres se especifica para que el nuevo elemento secundario se anexe con el mismo espacio de nombres que el documento XML.

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");

XmlDocument^ childNodes = gcnew XmlDocument();
childNodes->Load(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator^ childNodesNavigator = childNodes->CreateNavigator();


if (childNodesNavigator->MoveToChild("pages", "http://www.contoso.com/books"))
{
    navigator->AppendChild(childNodesNavigator);
}

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");

XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();

if(childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books"))
{
    navigator.AppendChild(childNodesNavigator);
}

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")

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()

If childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books") Then
    navigator.AppendChild(childNodesNavigator)
End If

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

Al anexar un nodo secundario, se agrega el nuevo nodo al final de la lista de nodos secundarios para el nodo actual. Por ejemplo, cuando existen tres nodos secundarios para un elemento, el nodo anexado se convierte en el cuarto nodo secundario. Si no existe ningún nodo secundario, se crea un nuevo nodo secundario.

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

Se aplica a