Share via


Agregar elementos, atributos y nodos a un árbol XML

Puede agregar contenidos (elementos, atributos, comentarios, instrucciones de procesamiento, texto y bloques CDATA) a un árbol XML existente.

Métodos para agregar contenidos

Los métodos siguientes agregan contenidos secundarios a un XElement o a un XDocument:

Método

Descripción

Add

Agrega un contenido al final de los contenidos secundarios del XContainer.

AddFirst

Agrega un contenido al comienzo de los contenidos secundarios del XContainer.

Los métodos siguientes agregan contenidos como nodos relacionados de un XNode.El nodo al que se agregan habitualmente contenidos relacionados es XElement, aunque es posible agregar contenidos relacionados válidos a otros tipos de nodos, como por ejemplo, al nodo XText o al nodo XComment.

Método

Descripción

AddAfterSelf

Añade un contenido detrás de XNode.

AddBeforeSelf

Añade un contenido antes de XNode.

Ejemplo

Descripción

El siguiente ejemplo crear dos árboles XML y, a continuación, modifica uno de ellos.

Código

XElement srcTree = new XElement("Root", 
    new XElement("Element1", 1),
    new XElement("Element2", 2),
    new XElement("Element3", 3),
    new XElement("Element4", 4),
    new XElement("Element5", 5)
);
XElement xmlTree = new XElement("Root",
    new XElement("Child1", 1),
    new XElement("Child2", 2),
    new XElement("Child3", 3),
    new XElement("Child4", 4),
    new XElement("Child5", 5)
);
xmlTree.Add(new XElement("NewChild", "new content"));
xmlTree.Add(
    from el in srcTree.Elements()
    where (int)el > 3
    select el
);
// Even though Child9 does not exist in srcTree, the following statement will not
// throw an exception, and nothing will be added to xmlTree.
xmlTree.Add(srcTree.Element("Child9"));
Console.WriteLine(xmlTree);
Dim srcTree As XElement = _
    <Root>
        <Element1>1</Element1>
        <Element2>2</Element2>
        <Element3>3</Element3>
        <Element4>4</Element4>
        <Element5>5</Element5>
    </Root>
Dim xmlTree As XElement = _
    <Root>
        <Child1>1</Child1>
        <Child2>2</Child2>
        <Child3>3</Child3>
        <Child4>4</Child4>
        <Child5>5</Child5>
    </Root>

xmlTree.Add(<NewChild>new content</NewChild>)
xmlTree.Add( _
    From el In srcTree.Elements() _
    Where CInt(el) > 3 _
    Select el)

' Even though Child9 does not exist in srcTree, the following statement
' will not throw an exception, and nothing will be added to xmlTree.
xmlTree.Add(srcTree.Element("Child9"))
Console.WriteLine(xmlTree)

Comentarios

Este código genera el siguiente resultado:

<Root>
  <Child1>1</Child1>
  <Child2>2</Child2>
  <Child3>3</Child3>
  <Child4>4</Child4>
  <Child5>5</Child5>
  <NewChild>new content</NewChild>
  <Element4>4</Element4>
  <Element5>5</Element5>
</Root>

Vea también

Otros recursos

Modificar árboles XML (LINQ to XML)