xmlstarlet-提取受控字段的Salesforce数据
我正在寻找一种从Salesforce配置转储中提取受控字段数据的方法。Dump是XML文件,其中我有以下信息:xmlstarlet-提取受控字段的Salesforce数据,salesforce,xmlstarlet,Salesforce,Xmlstarlet,我正在寻找一种从Salesforce配置转储中提取受控字段数据的方法。Dump是XML文件,其中我有以下信息: <?xml version="1.0" encoding="UTF-8"?> <valueSet> <valueSettings> <controllingFieldValue>Product A</controllingFieldValue> <controllingFieldV
<?xml version="1.0" encoding="UTF-8"?>
<valueSet>
<valueSettings>
<controllingFieldValue>Product A</controllingFieldValue>
<controllingFieldValue>Product B</controllingFieldValue>
<valueName>1</valueName>
</valueSettings>
<valueSettings>
<controllingFieldValue>Product A</controllingFieldValue>
<valueName>2</valueName>
</valueSettings>
</valueSet>
输出为:
Product A
Product B|1
Product A|2
Product A|1
Product A|2
因此,也会为valueSettings
节点显示其他controllingFieldValue
,其中找到了匹配的controllingFieldValue
如何仅显示
controllingFieldValue
匹配条件与相应的valueName
?我能够使用以下方法获得正确的结果:
xmlstarlet sel -T -t -m '//valueSettings' -i 'controllingFieldValue[text()="Product A"]' -v 'controllingFieldValue[text()="Product A"]' -o '|' -v 'valueName[text()]' -n test.xml
输出为:
Product A
Product B|1
Product A|2
Product A|1
Product A|2
还有一种方法:
xmlstarlet sel-T-T-m'//valueSettings/controllingFieldValue[text()=“Product A”]'-v'text()'-o'|'-v'../valueName[text()]'-n test.xml