mat*_*ash 1 xml xpath xmlstarlet
使用xmlstarlet/xpath,如何获取某个节点的所有子元素的名称?比如我想获取所有的子元素名称/a
<a>
<b><c/></b>
<d/>
</a>
Run Code Online (Sandbox Code Playgroud)
应该返回:
b
d
Run Code Online (Sandbox Code Playgroud)
我试过
xmlstarlet sel -t -c 'name(/a/*)' -
Run Code Online (Sandbox Code Playgroud)
但这只给了我b
我不认为 XPath 1.0 表达式可以做到这一点,您要么需要 XPath 2.0 /a/*/name()(我认为 xmlstarlet 不支持),要么需要使用 XSLT 或尝试使用 xmlstarlet 命令行选项来尝试模仿 XSLT。我无权访问该工具,也不熟悉详细信息,根据http://xmlstar.sourceforge.net/doc/xmlstarlet.txt你可以尝试
xmlstarlet sel -t -m "/a/*" -v "name()"
Run Code Online (Sandbox Code Playgroud)
未经测试。
| 归档时间: |
|
| 查看次数: |
1870 次 |
| 最近记录: |