【发布时间】:2015-07-20 18:09:31
【问题描述】:
我正在尝试使用 xsltproc 从 xml 文件中获取数据,但是当我执行 xsltproc 时,我得到一个解析器错误列表,显示我:
new_news.xml:388407:解析器错误:PCDATA 无效字符值 26
new_news.xml:418521:解析器错误:PCDATA 无效字符值 26
new_news.xml:1490882:解析器错误:PCDATA 无效字符值 27 乌尔坦'ın
错误列表中的数字显示了发生错误的 xml 文件的行号,我看到有一些非 UTF8 字符,如 ESC、SUB 等。(.xml 文件具有 UTF-8 标签在一开始。)既然是这种情况,我需要删除(或替换)那些非 UTF8 字符。为此:
我使用了 iconv 命令:
iconv -c -t UTF-8
new_news.xml
然后使用 diff 命令查看差异:
diff new.xml new_news.xml
但是它们之间没有区别。因此,给定 new_news.xml 到 xsltproc 命令,我得到了同样的错误。
你能帮我解决这个问题吗?我究竟做错了什么? 顺便说一句,我使用的是 OsX 终端。我不知道 iconv 命令是否与 sed 和 awk 命令有所不同。
最好的问候
【问题讨论】: