问题描述
我正在尝试使用xmlstarlet
来解析此file.xml:
<resultset>
<row>
<field name="b">2</field>
<field name="c"></field>
</row>
</resultset>
有了第一场驱赶就可以了
$ xmlstarlet sel -t -v "resultset/row[1]/field[1]" file.xml
2
$ echo $?
0
但是在第二个字段xmlstarlet
中返回1
$ xmlstarlet sel -t -v "resultset/row[1]/field[1]" file.xml
$ echo $?
1
在我看来,空白字段是正常的。我想解析它而没有xmlstarlet错误。
更新:
与field[@name="b"]
的行为相同:
$ xmlstarlet sel -t -v 'resultset/row/field[@name="b"]' file.xml
2
$ echo $?
0
和
$ xmlstarlet sel -t -v 'resultset/row/field[@name="c"]' file.xml
$ echo $?
1
我想将第二种情况与实际错误区分开来
更新2:主要问题是:
如果我尝试选择[@name="c"]
和[@name="not_exits"]
xmlstarlet
,则返回相同的退出代码1。
但是file.xml的字段名称为“ c”,而没有字段名称为“ not_exist”。
我希望xmlstarlet
打印空字符串并在file.xml包含具有给定名称的空字段时返回退出代码0,
当file.xml根本不包含具有给定名称的字段时,并返回非null退出代码。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)