PowerShell を使用して、いくつかのサブ要素を XML ツリーに追加したいと考えています。
1 つの要素を追加する方法、1 つまたは複数の属性を追加する方法は知っていますが、複数の要素を追加する方法がわかりません。
サブ XML ツリーをテキストとして記述する方法
もありますが、要素が一度に追加されないため、この方法は使用できません。
1 つの要素を追加するには、次のようにします。
[xml]$xml = get-content $nomfichier
$newEl = $xml.CreateElement('my_element')
[void]$xml.root.AppendChild($newEl)
正常に動作します。これにより、次の XML ツリーが得られます。
$xml | fc
class XmlDocument
{
root =
class XmlElement
{
datas =
class XmlElement
{
array1 =
[
value1
value2
value3
]
}
my_element = <-- the element I just added
}
}
次に、「my_element」にサブ要素を追加します。私は同様の方法を使用します:
$anotherEl = $xml.CreateElement('my_sub_element')
[void]$xml.root.my_element.AppendChild($anotherEl) <-- error because $xml.root.my_element is a string
[void]$newEl.AppendChild($anotherEl) <-- ok
$again = $xml.CreateElement('another_one')
[void]$newEl.AppendChild($again)
これにより、次の XML ツリーが得られます (部分的に表示)。
my_element =
class XmlElement
{
my_sub_element =
another_one =
}
これらは属性であり、サブ要素ではありません。
サブ要素は次のように表示されます。
my_element =
[
my_sub_element
another_one
]
質問: 複数のサブ要素を 1 つずつ追加するにはどうすればよいですか?