Обработка XML Комментарии с использованием Sax & Cyberneko - в заказе DOM

StackOverflow https://stackoverflow.com/questions/4699814

  •  11-10-2019
  •  | 
  •  

Вопрос

я использую Кибернеко Очистить и обрабатывать HTML -документы.

Мне нужно иметь возможность обрабатывать все комментарии, которые происходят в оригинальных документах HTML.

Я настроил анализатор Sax Sax Sax Cyberneko для обработки комментариев, подобных так:

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 -документ.

Это было полезно?

Решение

Вероятно, есть простое объяснение, которое было бы ясно, если бы вы показали нам больше своего кода.

Но если это проблема с CyberNecko, вы можете попробовать другой анализатор, такой как TagSoup.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top