我有大量的xml文件要用xmllint解析。我只需要提取一个或两个节点的内容,然后将它们放入一些新文件中。
在他们找到我之前,我无法控制他们的格式。
我正试图找到一种优雅的方式来处理像"&"等字符。 (符号)。它们并不总是在源xmls中进行转义。
有没有办法在单个xmllint命令中处理这个问题,还是我需要先准备xml文件?
答案 0 :(得分:1)
我不了解xmllint。
但是我确实建议使用其他功能来做到这一点。或者像html2text
这样的脚本也可以工作。
就我而言,我用以下方法解决了它:
echo -e $(echo "$responseXml" | xmllint --xpath '/xpath/to/extract/message/text()' - 2>/dev/null | sed 's/\&#\(x..\);/\\\1/g') | iconv --from=iso88591
如果您的xml不在iconv
中,或者您不想将其转换为ISO-8859-1
,则UTF-8
可能不需要