使用 xmllint 跳过 XML 元素
skip XML element with xmllint
我关注XML:
<root>
<Type1 name="">
<Type2 name="">
<Type3 name="">
<finalType name="">
<element value=""/>
</finalType>
</Type3>
</Type2>
</Type1>
</root>
我想达到<finalType>
中元素的值,通常我这样写:
echo //root/Type1/Type2/Type3/finalType /element@ xmllint etc...
但是在我的应用程序中,finalType 可以是 Type1 或 Type2! , 所以我正在寻找类似的东西
echo //root/***/finalType /element@ xmllint etc...
但不幸的是它不起作用..
你知道如何 "skip" Type1 , Type2 ...吗?
只需使用双斜杠(或descendant::
):
echo ls /root//element | xmllint --shell file.xml
echo ls /root/descendant::element | xmllint --shell file.xml
我关注XML:
<root>
<Type1 name="">
<Type2 name="">
<Type3 name="">
<finalType name="">
<element value=""/>
</finalType>
</Type3>
</Type2>
</Type1>
</root>
我想达到<finalType>
中元素的值,通常我这样写:
echo //root/Type1/Type2/Type3/finalType /element@ xmllint etc...
但是在我的应用程序中,finalType 可以是 Type1 或 Type2! , 所以我正在寻找类似的东西
echo //root/***/finalType /element@ xmllint etc...
但不幸的是它不起作用.. 你知道如何 "skip" Type1 , Type2 ...吗?
只需使用双斜杠(或descendant::
):
echo ls /root//element | xmllint --shell file.xml
echo ls /root/descendant::element | xmllint --shell file.xml