Condividi tramite


Aggiunta di elementi, attributi e nodi a un albero XML

È possibile aggiungere contenuto (elementi, attributi, commenti, istruzioni di elaborazione, testo e CDATA) a un albero XML esistente.

Metodi per l'aggiunta di contenuto

I metodi seguenti consentono di aggiungere contenuto figlio a un oggetto XElement o XDocument:

Metodo

Descrizione

Add

Consente di aggiungere il contenuto alla fine del contenuto figlio di XContainer.

AddFirst

Consente di aggiungere il contenuto all'inizio del contenuto figlio di XContainer.

I seguenti metodi consentono di aggiungere contenuto come nodi di pari livello di un oggetto XNode. Il nodo più comune al quale viene aggiunto contenuto di pari livello è XElement, anche se è possibile aggiungere contenuto di pari livello valido ad altri tipi di nodi, tra cui XText o XComment.

Metodo

Descrizione

AddAfterSelf

Consente di aggiungere contenuto dopo XNode.

AddBeforeSelf

Aggiunge contenuto prima di XNode.

Esempio

Descrizione

Nell'esempio seguente vengono create due strutture ad albero XML e quindi ne viene modificata una.

Codice

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)

Commenti

L'output del codice è il seguente:

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

Vedere anche

Altre risorse

Modifica di alberi XML (LINQ to XML)