次の方法で共有


XML ツリーへの要素、属性、およびノードの追加

更新 : November 2007

コンテンツ (要素、属性、コメント、処理命令、テキスト、および CDATA) を既存の XML ツリーに追加できます。

コンテンツを追加するためのメソッド

次のメソッドを使用すると、XElement または XDocument に子コンテンツを追加できます。

メソッド

説明

Add

XContainer の子コンテンツの末尾にコンテンツを追加します。

AddFirst

XContainer の子コンテンツの冒頭にコンテンツを追加します。

次のメソッドは、XNode の兄弟ノードとしてコンテンツを追加します。兄弟コンテンツの追加先となる最も一般的なノードは XElement ですが、XTextXComment など別の種類のノードに、有効な兄弟コンテンツを追加することもできます。

メソッド

説明

AddAfterSelf

XNode の後にコンテンツを追加します。

AddBeforeSelf

XNode の前にコンテンツを追加します。

説明

次の例では、2 つの XML ツリーを作成し、その 1 つを変更します。

コード

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)

コメント

このコードを実行すると、次の出力が生成されます。

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

参照

その他の技術情報

XML ツリーの変更 (LINQ to XML)