我在使用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)
你对我有什么想法吗?
非常感谢, 最好的祝福, 保罗
答案 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)