使用SAX进行解析失败是因为'&' HTML

时间:2016-04-29 09:24:48

标签: java xml saxparser

我尝试使用org.jdom2.input.SAXBuilder在Java中解析XML文档(实际上是HMTL,但这没关系)。

该文档包含一个包含URL的行:

< link rel ="something" href="http://...&pg=2..." />;

问题是,预计在此之后会有分号(;),因此&pg会成为某个符号,并且SAXBuilder会因此而产生错误(找到&amp; pg后没有分号)。

是否有任何解析选项使SAX不将字符&解释为符号,而是像普通字符串一样?

区别在于,我不想解析特殊字符,我想解析字符&something ,因为它们,默认情况下必须如此其实,  并且问题是Java类抛出的异常

org.jdom2.input.SAXBuilder

1 个答案:

答案 0 :(得分:2)

&amp; 是一个特殊的XML字符。你需要将它转移到&amp; amp;或将其包裹在CDATA []标签周围。

  

我试图解析一个XML文档(实际上是HMTL,但事实并非如此)   在java中

这很重要!如果您使用XML编辑器验证 HTML源。它是否抱怨同样的问题? XML是否格式良好?

请记住,许多HTML源都不是XML格式良好的。如果你想解析HTML,那么我建议使用HTML解析器。我使用 JSoup (开源)api来解析我的许多项目中的HTML。