Получение информации из XML-документа и сравнение ее - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь получить информацию из XML-документа, а затем беру эту информацию и сравниваю ее с информацией, которую я получаю из текстового документа.Но всякий раз, когда я сравниваю число, которое я получаю из XML, с числом из текстового документа, сценарий всегда говорит мне, что они не равны, даже когда они должны быть.

Я использую xmllint, чтобы получитьинформацию из XML-документа и прочитайте, чтобы получить номер из текстового документа.Тогда я пытаюсь сравнить их, и если они одинаковые, что-то сделать.Но в этом я и застрял.

input_3="/Users/unix/Desktop/text.txt"
VAR_4= xmllint --xpath "string(//number)" /Users/unix/Desktop/01/testxml.xml
while IFS= read -r line
do
  if [[ "$VAR_4" == "$line" ]]
    then echo "YEAH"
    else echo "Why"
fi
done < "$input_3"

С этим кодом я всегда вхожу в другую часть утверждения, даже если числа должны быть одинаковыми.Я работал с echo, чтобы проверить числа, чтобы убедиться, что они одинаковые, и единственное, о чем я могу подумать, это то, что это связано с новыми строками или пробелами.То, что либо xmllint, либо чтение с IFS ставит новую строку за номером, и поэтому скрипт не считает их одинаковыми.Например, в моем текстовом документе число равно 2, но я должен поставить новую строку за ним, так что read получает число, а в XML число тоже равно 2.Я надеюсь, что кто-то может дать мне подсказку о том, как я могу изменить формат выводов, которые я получаю, или как получить выходы на том же уровне.

...