我有这个 XML 文件
<?xml version="1.0" encoding="utf-8"?>
<xObject version="3.0" xmlns="http://schemas.microsoft.com/random/2006/objects">
<section id="*" type="product">
<table name="XFile">
<row sourceLineNumber="D:\bla\bla\">
<field>Borderish.fo</field>
<field>Documents</field>
<field>1</field>
<field>This line here 1</field>
</row>
<row sourceLineNumber="D:\blah\blah\">
<field>Charterish</field>
<field>Documents</field>
<field>1</field>
<field>This line here 2</field>
</row>
</table>
</section>
</xObject>
我想要做的是使用 xmlstarlet 选择每个第 4 个元素。
我设法使用 XmlPad 做到这一点,如下所示://table[@name='XFile']/row/field[4]/text(),但不幸的是我必须使用 xmlstarlet 来做到这一点。
此外,如果我删除 xObject 的属性/命名空间,似乎可以使用以下命令:xml sel -t -v "//table/row/field[4]/text()" test.xml
有谁知道如何做到这一点?这是我第一次尝试评估 xpath。
问候,斯特凡