0

我在使用 Powershell 和 XML 时遇到了一些麻烦,但没有得到它:(

也许你可以帮助我!

我有一个 XML 对象

[xml] $a = '<test><red>1</red><blue>2</blue></test>'

现在我想在 $a 中添加另一个元素以获得像 [xml] $solution = '123' 这样的解决方案

我通过生成第二个 xml 对象并将其附加到第一个对象来尝试它,但它不起作用。我在互联网上环顾四周,但它不会工作。

[xml] $a = '<test><red>1</red><blue>2</blue></test>'
[xml] $b = '<test><yellow>2</yellow></test>'
($a.test).appendchild($b.test,$true)

你对我有什么想法吗?

非常感谢, 最好的问候, 保罗

4

2 回答 2

0

也许有一种更简单的方法,但这有效:

[xml] $a = '<test><red>1</red><blue>2</blue></test>'
[xml] $b = '<test><yellow>2</yellow></test>'
$b.test.ChildNodes | Foreach {
    $newElem = $a.CreateElement($_.Name, $_.NamespaceURI)
    $newElem.InnerXml = $_.InnerXml
    $a.test.AppendChild($newElem)}
于 2013-10-15T20:34:02.963 回答
0

您需要创建一个新节点,将一个文本节点附加到它,然后将其附加到您现有的 XML:

[xml]$a = '<test><red>1</red><blue>2</blue></test>'

$node = $a.CreateNode('element', 'yellow', '')
$text = $a.CreateTextNode(2)
$node.AppendChild($text)

$a.SelectSingleNode('/test').AppendChild($node)
于 2013-10-15T20:37:29.440 回答