0

我正在尝试使用 Powershell 中的子节点属性修改父节点属性。做这个的最好方式是什么?任何指针都非常感谢。下面是代码。文件名是 pricefile.xml

 <model type="model1" name="default" price="12.12" date="some_value">
  <PriceData>
    <item name="watch" price="24.28" date="2013-12-01"/>
    <item name="toy" price="22.34" date="2013-12-02"/>
    <item name="bread" price="24.12" date="2013-12-03"/>
  </PriceData>
 </model>

我想使用项目的名称过滤上面的 xml 文件。例如,如果我需要项目监视的详细信息,我应该能够在 powershell 中解析上述 xml 并得到以下内容。

 <model type="model1" name="watch" price="24.28" date="2013-12-01">
  <PriceData>
    <item name="watch" />
  </PriceData>
 </model>

注意子节点的属性是如何被删除的,模型属性是如何用监视属性重置的。你能告诉我最好的方法吗?

如果我使用以下任何命令,我不会得到任何输出。

    [xml]$item = get-content pricefile.xml

    $item.SelectNodes("//item/@*").parentnode

    $item.SelectNodes("//item/@*") | where {$_.parentnode}
4

1 回答 1

0

在类似的问题中提供了一个非常优雅的解决方案,用于解析/遍历 xml 文档。它也适用于在这个问题中遍历树。以下是另一个问题的链接:

使用 powershell 修改通过子属性迭代的 XML 父属性

于 2017-03-20T18:21:22.280 回答