处理'&'使用xmllint即时运行

时间:2014-08-16 12:12:14

标签: xml xmllint

我有大量的xml文件要用xmllint解析。我只需要提取一个或两个节点的内容,然后将它们放入一些新文件中。

在他们找到我之前,我无法控制他们的格式。

我正试图找到一种优雅的方式来处理像"&"等字符。 (符号)。它们并不总是在源xmls中进行转义。

有没有办法在单个xmllint命令中处理这个问题,还是我需要先准备xml文件?

1 个答案:

答案 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可能不需要