Powershell XML添加列

时间:2013-10-15 19:09:13

标签: xml powershell add

我在使用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)

你对我有什么想法吗?

非常感谢, 最好的祝福, 保罗

2 个答案:

答案 0 :(得分: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)}

答案 1 :(得分: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)