在PowerShell中,我试图检索使用XPath属性的值。在下面的例子中,我想为“hi”类别获得“name”的值,这将是“新测试”。使用XPath检索属性值的特定属性
示例代码所示:
<Report name="test" category="thisone">
<String>test</String>
<String>test2</String>
<Report name="new test" category="hi">
<String>hello</String>
<String>hi again</String>
</Report>
</Report>
这是我有:
Select-Xml -XPath "//Report[@name='test']/Report" | Select name |
Out-File "result.txt"
我的结果是:
name ----
我并不真的需要指定类别属性因为<Report>
标签将永远在第一个<Report>
ta之后g,所以这就是为什么我认为使用XPath会更容易。
完美是做到了!顺便说一句,我可以将该值放入一个变量中,在该语句之前添加诸如$ hi =的内容吗?我目前正在使用Out-File到一个文本文件,并且我看到它写入了“name”和“----”,然后是下面的值,我并不真正关心这两行并试图消除它们。 。 – Awsmike
'选择的XML-XML $ XML -xPath “//报告[@名称= '测试'] /报告” | Select-Object -ExpandProperty“节点”| foreach-object {$ _。name} | Out-file“HELLO.TXT”' – ArcSet
好!这也工作得很好!有没有一种方法可以将它分配给一个变量?我试过了,我得到这个:命令流水线位置的cmdlet Select-Xml 1 以下参数的供应值: Xml [0]: – Awsmike