使用SAX处理XML注释&;Cyberneko-按DOM顺序

使用SAX处理XML注释&;Cyberneko-按DOM顺序,xml,sax,cyberneko,Xml,Sax,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) throw

我用它来清理和处理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无关。i、 e.我收到了一份关于文件头、正文等之前所有评论的回电

我希望注释回调按照它们在DOM中出现的顺序出现

编辑:我实际上想做的是在原始html中传递IE的指令,例如:

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


现在它们都被删除了,我需要将它们包含在清理过的HTML文档中。

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


但如果cybernecko有问题,您可以尝试其他解析器,如TagSoup。

问题是我将所有内容都包装在一个XSL中,而XSL没有输出注释。