Jos*_*ose 1 xml powershell xml-parsing
我想使用 powershell 获取属性的节点名称。谁能告诉我我们是否有相同的内置功能。
以下是我的名为 Pricefile.xml 的 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>
Run Code Online (Sandbox Code Playgroud)
假设我想获取属性“toy”的元素名称“item”。我怎样才能得到这些数据?
这是我到目前为止所拥有的。
[xml]$item = get-content pricefile.xml
$item.SelectNodes("//item/@*")
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出,但我不知道如何从这里获取属性的元素或其父节点。
#text
-----
watch
24.28
2013-12-01
toy
22.34
2013-12-02
bread
24.12
2013-12-03
Run Code Online (Sandbox Code Playgroud)
如果我使用以下任何命令,我不会得到任何输出。
[xml]$item = get-content pricefile.xml
$item.SelectNodes("//item/@*").parentnode
$item.SelectNodes("//item/@*") | where {$_.parentnode}
Run Code Online (Sandbox Code Playgroud)
首先,选择name
属性值为的元素toy
:
$toy = $item.SelectSingleNode("//*[@name='toy']")
Run Code Online (Sandbox Code Playgroud)
由于 PowerShell 试图提供帮助,并将name
属性公开为对象的属性,因此我们需要对实际标记Name
属性使用属性访问器:
$toy.get_Name()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10479 次 |
最近记录: |