xml – 如何在PowerShell中使用带有命名空间的xpath访问元素?

电源外壳:
$doc = new-object System.Xml.XmlDocument
$doc.Load($filename)

$items = Select-Xml -Xml $doc -XPath '//item'
$items | foreach {
    $item = $_
    write-host $item.name
}

我没有输出

XML:

<?xml version="1.0" encoding="UTF-8"?>
<submission version="2.0" type="TREE" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:noNamespaceSchemaLocation="TREE.xsd" xmlns="some/kind/of/tree/v1">
  <group>
    <item></item>
    <item></item>
    <item></item>
  </group>
<submission>
你有一些问题在继续.首先,您需要在XPath模式中指定命名空间,XML格式不正确(结束标记不是结束标记),而Select-Xml直接返回XmlInfo而不是XmlElement.试试这个:
$xml = [xml]@'
<submission version="2.0" type="TREE" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:noNamespaceSchemaLocation="TREE.xsd" xmlns="some/kind/of/tree/v1">
  <group>
    <item></item>
    <item></item>
    <item></item>
  </group>
</submission>
'@

$ns = @{dns="some/kind/of/tree/v1"}
$items = Select-Xml -Xml $xml -XPath '//dns:item' -Namespace $ns
$items | Foreach {$_.Node.Name}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇