从XML文档获取信息并进行比较

时间:2019-05-29 13:53:57

标签: bash xmllint ifs

我试图从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"

使用此代码,即使数字应该相同,我也总是进入语句的else部分。我一直在与echo一起检查数字,以确保它们相同,而我唯一想到的就是与新行或空格有关。 xmllint或用IFS进行读取都会在数字后面加一行,这就是脚本认为它们不相同的原因。例如,在我的文本文档中,数字为2,但是我必须在其后添加换行符,以便read获取数字,而在XML中,数字也为2。我希望有人可以为我提供一些有关如何更改所获得的输出格式或如何在相同级别上获得输出的线索。

0 个答案:

没有答案