Я использую 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.
Редактировать : что я на самом деле пытаюсь сделать, это пройти через инструкции для IE в оригинальном HTML, например:
<!--[if lte IE 6]><body class="news ie"><![endif]-->
Нав тот момент, когда они все отброшены, мне нужно включить их в очищенный HTML-документ.