Art*_*lho 4 xml powershell xml-namespaces
我有一个格式的XML:
<val:root>
<bla>
<value>1234</value>
</val:root>
Run Code Online (Sandbox Code Playgroud)
我可以将文件的内容添加到$ xml变量中,但是我遇到了"val:root"的问题.
谢谢你的帮助!
编辑:
我尝试了$ xml."val:root",$ xml.val,$ xml.'val:root'和$ xml.{val:root}.在Mizo的回答中找到了解决方案:
$ XML.root .value
您的XML文件缺少val
命名空间的声明.此外,该<bla>
元素未终止.
在<root>
元素中放置名称空间声明:
<val:root xmlns:val="urn:dummy">
Run Code Online (Sandbox Code Playgroud)
那你可以做
PS C:\> $xml = [xml] (get-content test.xml)
PS C:\Users\mizo\test> $xml.root.value
1234
Run Code Online (Sandbox Code Playgroud)如果您无法控制XML数据,则可以val
在虚拟根中声明命名空间作为变通方法:
$xml = [xml] ("<dummyroot xmlns:val='urn:dummy'>" +
(get-content test.xml) +
"</dummyroot>")
Run Code Online (Sandbox Code Playgroud)
然后你可以访问元素:
PS C:\> $xml.dummyroot.root.value
1234
Run Code Online (Sandbox Code Playgroud)urn:dummy
如果您愿意,请更换相关标识符.
归档时间: |
|
查看次数: |
2902 次 |
最近记录: |