Я использую XMLstarlet через скрипт Bash для поиска изменений, выполненных в Git, и создания нового XML-файла, который содержит только измененные узлы.
Работает, как ожидалось, но мне не удается сопоставить объект, содержащий строку."
.
XML выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<CustomLabels xmlns="http://soap.sforce.com/2006/04/metadata">
<labels>
<fullName>Your_Previously_Selected_Rates_Not_Applicable</fullName>
<categories>Error</categories>
<language>en_US</language>
<protected>false</protected>
<shortDescription>Your Previously Selected Rates Not Applicable</shortDescription>
<value>The rate previously selected isn't eligible. Please click on "Select" to select a new one.</value>
</labels>
</CustomLabels>
Ранее у нас были проблемы с '
, но мы исправили его, заменив в скрипте на '
вместо.Пытался сделать то же самое с "
, который будет заменен на "
, но это путает команды в bash.Команда, которую мы выполняем:
xmlstarlet sel -N x="http://soap.sforce.com/2006/04/metadata" -t -c "//x:labels[x:value/text()=\"The rate previsouly selected isn't eligible. Please click on "Select" to select a new one.\"]/x:fullName" -n CustomLabels.labels
Любая подсказка, что мне нужно сделать, чтобы найти этот текст?