XML ツリーへの要素、属性、およびノードの追加
更新 : November 2007
コンテンツ (要素、属性、コメント、処理命令、テキスト、および CDATA) を既存の XML ツリーに追加できます。
コンテンツを追加するためのメソッド
次のメソッドを使用すると、XElement または XDocument に子コンテンツを追加できます。
メソッド |
説明 |
---|---|
XContainer の子コンテンツの末尾にコンテンツを追加します。 |
|
XContainer の子コンテンツの冒頭にコンテンツを追加します。 |
次のメソッドは、XNode の兄弟ノードとしてコンテンツを追加します。兄弟コンテンツの追加先となる最も一般的なノードは XElement ですが、XText や XComment など別の種類のノードに、有効な兄弟コンテンツを追加することもできます。
メソッド |
説明 |
---|---|
XNode の後にコンテンツを追加します。 |
|
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>