代码之家  ›  专栏  ›  技术社区  ›  Fazal

Stax解析器解析CDATA值

  •  2
  • Fazal  · 技术社区  · 14 年前

    我使用的是Stax实现SJSXP1。因此,它一直工作得很好,但现在面临着一个严峻的问题。

    被解析的XML包含格式错误的HTML片段,作为某些标记的值。这些值包含在CDATA部分中,因为我们预期CDATA不会被解析器解析(就像我们之前使用的DOM解析器一样)。但当我们使用STax时,解析器。next()方法失败如下 javax。xml。流动XMLStreamException:ParseError位于[row,col]:[1374,10] 消息:元素类型“col”的结束标记必须以“>”结尾定界符

    我有没有办法告诉解析器完全忽略CDATA标记,只是将它们作为值读取

    1 回复  |  直到 14 年前
        1
  •  0
  •   dhblah    14 年前

    我认为不可能以这种方式改变解析器的行为,因为XML格式本身就嵌入在解析器中,而您不能用它做任何事情。但这并不妨碍您捕获异常并围绕它进行一些逻辑分析。