我正在使用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文档中。
答案 0 :(得分:0)
如果您向我们展示了更多代码,可能会有一个简单的解释。
但如果这是cybernecko的问题,你可以试试一个不同的解析器,比如TagSoup。