2010-11-01 6 views
5

Je veux enregistrer du texte Je gratte de diverses sources sans les balises HTML qui y sont, mais en conservant autant de structure que je le peux raisonnablement. Markdown semble être la solution à cela (ou éventuellement MultiMarkdown).Existe-t-il une API Java HTML vers Markdown décente et personnalisable?

Il y a a question qui offre une suggestion sur la conversion du HTML en Markdown, mais je veux préciser certaines choses spécifiques:

  • tous les liens (y compris les images) sont référencés à la FIN uniquement (pas urls inline)
  • NO embeded HTML (je ne suis même pas sûr à 100% mais la façon dont je voudrais traiter HTML difficile ... mais il ne sera pas eMbeded!)

donc, ma question est la déclaré dans le titre: Y at-il un HTML décent, personnalisable à Markdown J ava API?

Répondre

2

Vous pouvez essayer d'adapter HtmlCleaner qui fournit une interface pratique sur le DOM:

TagNode root = htmlCleaner.clean(stream); 
Object[] found = root.evaluateXPath("//div[id='something']"); 
if(found.length > 0 && found instanceof TagNode) { 
    ((TagNode)found[0]).removeFromTree(); 
} 

Cela vous permettra de structurer votre flux de sortie dans le format que vous souhaitez à l'aide d'une API assez simple.