我有大量的xml文件要用xmllint解析。我只需要提取一个或两个节点的内容,并将它们放入一些新文件中。
在他们找到我之前,我无法控制他们的格式。
我正在尝试找到一种优雅的方式来处理像"&“(和号)这样的字符。它们在源xmls中并不总是转义的。
有没有办法在一个xmllint命令中处理这个问题,或者我需要先准备好xml文件?
发布于 2018-10-02 23:11:45
我不知道什么是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不是ISO-8859-1格式,或者您不想将其转换为UTF-8,则可能不需要iconv
https://stackoverflow.com/questions/25340019
复制相似问题