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