【发布时间】:2015-10-29 20:36:12
【问题描述】:
我正在使用Nokogiri::XML::SAX::Document 来解析一个由购物元素填充的 XML 文件。
其中一些项目的段落中带有铃铛字符,但没有 CDATA 块部分:
<description>Amazing product that will blow your mind. ^G Caution: may cause skin irritation and death.</description>
* ^G 是这个字符在 VIM 中的显示方式。
该元素的解析失败,然后我收到以下错误:
XML document contains errors, check this: PCDATA invalid Char value 7.
有没有办法读取上面显示的元素而忽略 Nokogiri 中的无效字符?
【问题讨论】:
-
如果没有上下文中的 XML 数据和代码示例,真的很难说出问题所在。请参阅“How to Ask”。我们不会编写 SAX 代码,因此我们需要您向我们展示您尝试过的内容。因为它是有效的 XML 标记,所以错误可能发生在 XML 的其他地方,并且正在抛出解析器。
-
错误信息是指“Char value 7”。字符 7 是一个控制字符(ASCII 中的 Bell character),它在 XML 中无效(至少 1.0)。当我创建包含该字符的示例文档并对其进行解析时,我会收到相同的错误消息。你的问题是这个字符,而不是冒号。