Question

J'utilise cyberneko aux documents html propres et processus.

Je dois être en mesure de traiter tous les commentaires qui se produisent dans les documents html d'origine.

J'ai configuré l'analyseur de sax cyberneko aux commentaires de processus comme ceci:

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

... en utilisant le même consommateur que je suis pour des événements DOM.

je reçois un rappel pour chacun des commentaires:

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

Le problème est que je tous les commentaires sont traitées en premier , hors contexte du DOM. dire que j'obtenir un rappel pour tous les commentaires avant la tête du document, le corps etc ....

Ce que je voudrais est pour les callbacks de commentaires se produire dans l'ordre où ils se produisent dans les DOM.

Modifier : ce que je suis en train d'essayer de le faire est de passer par des instructions pour IE dans le fichier html d'origine, tels que:

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

Au moment où ils sont tous chuté, je dois les inclure dans le document HTML nettoyé.

Était-ce utile?

La solution

Il y a probablement une explication simple qui serait clair si vous nous avez montré plus de votre code.

Mais si c'est un problème avec cybernecko, vous pouvez essayer un analyseur différent tel que TagSoup.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top