使用冒号在powershell中搜索XML

我有一个格式的 XML

<val:root>
   <bla>
     <value>1234</value>
</val:root>

我可以将文件内容添加到$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">

那你可以做

PS C:\> $xml = [xml] (get-content test.xml)
 PS C:\Users\mizo\test> $xml.root.value
 1234

>如果您无法控制XML数据,则可以在伪根中声明val命名空间作为解决方法

$xml = [xml] ("<dummyroot xmlns:val='urn:dummy'>" +
              (get-content test.xml) +
              "</dummyroot>")

然后你可以访问元素:

PS C:\> $xml.dummyroot.root.value
1234

如果您愿意,将urn:dummy替换为相关标识符.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念