使用SAX&处理XML注释Cyber​​neko - 按DOM顺序排列

时间:2011-01-15 13:28:51

标签: xml sax cyberneko

我正在使用cyberneko来清理和处理html文档。

我需要能够处理原始html文档中出现的所有注释。

我已经配置了cyberneko sax解析器来处理这样的评论:

parser.setProperty("http://xml.org/sax/properties/lexical-handler", consumer);

...使用与DOM相同的消费者。

我收到了每条评论的回调:

 @Override
 public void comment(char[] arg0, int arg1, int arg2) throws SAXException {
  System.out.println("COMMENT::: "+new String(arg0, arg1, arg2));
 }

我遇到的问题是,首先处理所有注释,脱离了DOM的上下文。即我在文档头,正文等之前收到所有评论的回调....

我想要的是评论回调按它们在DOM中出现的顺序发生。

编辑:我实际上要做的是在原始html中传递IE的说明,例如:

 <!--[if lte IE 6]><body class="news ie"><![endif]-->

目前他们都被删除了,我需要将它们包含在已清理的HTML文档中。

1 个答案:

答案 0 :(得分:0)

如果您向我们展示了更多代码,可能会有一个简单的解释。

但如果这是cybernecko的问题,你可以试试一个不同的解析器,比如TagSoup。