当父项为空时,如何在Powershell中插入子节点

时间:2015-07-01 18:06:31

标签: xml powershell

由此:

<products>
</products>

我想得到这个:

<products>
    <product code="id1">
</products>

什么是正确的语法?我试过这个,但似乎不起作用:

$newproduct= $products.CreateElement("product")
$newproduct.SetAttribute("code", "");                        
$newproduct.code="id1" 
$products.AppendChild($newproduct)

下面给出的解决方案几乎可以正常工作,除了AppendChild不能处理空值。我在Powershell 2上完全输入了给定的例子。

enter image description here

1 个答案:

答案 0 :(得分:3)

创建属性节点并将其附加到Select StartDate, Min(EndDate) EndDate From TableDates Group by StartDate 节点的属性:

<product>

结果:

[xml]$xml = '<products></products>'

$newproduct = $xml.CreateElement('product')
$attr = $xml.CreateAttribute('code')
$attr.Value = 'id1'
$newproduct.Attributes.Append($attr)

$products = $xml.SelectSingleNode('//products')
$products.AppendChild($newproduct)

演示(PowerShell v2):

<?xml version="1.0" encoding="ibm850"?>
<products>
  <product code="id1" />
</products>