-->

没有与XMLStarlet发现标签包含>(No finding tag with XMLSta

2019-10-31 06:44发布

我在bash脚本XMLStarlet工作基本上找到基于什么该文件内关于git的改变特定的XML节点。 这是工作的罚款,直到我们打的是需要搜索包含节点> 因为它的价值的一部分。 我想找到节点的实例:

<?xml version="1.0" encoding="UTF-8"?>
<CustomLabels xmlns="http://soap.sforce.com/2006/04/metadata">
    <labels>
        <fullName>Button_Value_Get_Data</fullName>
        <categories>Button Value</categories>
        <language>en_US</language>
        <protected>false</protected>
        <shortDescription>Value for Button to get Data</shortDescription>
        <value>&gt; GET VEHICLE DATA</value>
    </labels>
</CustomLabels>

这是我运行命令:

xmlstarlet sel -N x="http://soap.sforce.com/2006/04/metadata" -t -c "//x:labels[x:value/text()=\"&gt; GET VEHICLE DATA\"]/x:fullName" -n myFile.xml

当需要搜索的值不包含此相同的命令的伟大工程&gt; 。 有没有一种办法能够搜索到这一点? 或者,这是一个xmlstarlet限制? 谢谢。

Answer 1:

&gt; 是的编码> 。 如果你使用你的表达的字面意义,它匹配正确:

$ xmlstarlet sel -N x="http://soap.sforce.com/2006/04/metadata" -t -c "//x:labels[x:value/text()=\"> GET VEHICLE DATA\"]/x:fullName" -n test.xml
<fullName xmlns="http://soap.sforce.com/2006/04/metadata">Button_Value_Get_Data</fullName>


文章来源: No finding tag with XMLStarlet that contains >