Si te encuentras con alguna parte que te causa duda puedes dejarlo en los comentarios y te ayudaremos rápidamente.
Solución:
Utilizar esta XSLT.
Si necesita ayuda para usar XSLT y Java, aquí tiene un fragmento de código:
public static void main(String[] args) throws Exception
File xsltFile = new File("mardownXSLT.xslt");
Source xmlSource = new StreamSource(new StringReader(theHTML));
Source xsltSource = new StreamSource(xsltFile);
TransformerFactory transFact =
TransformerFactory.newInstance();
Transformer trans = transFact.newTransformer(xsltSource);
StringWriter result = new StringWriter();
trans.transform(xmlSource, new StreamResult(result));
Encontré Remark para convertir HTML a Markdown, consulte: http://remark.overzealous.com/manual/index.html Depende de JSoup, una poderosa biblioteca de Java para trabajar con HTML del mundo real.
Editar Del creador: tenga en cuenta que Atlassian ha perdido mi repositorio y ya no soy compatible con esta biblioteca ni la tengo disponible públicamente.
Hay una gran biblioteca para JS llamada Turndown, puedes probarla en línea aquí. Funciona para htmls que la respuesta aceptada falla.
Lo necesitaba para Java (como la pregunta), así que lo porté. La biblioteca para Java se llama CopyDown, tiene el mismo conjunto de pruebas que Turndown y lo probé con ejemplos reales de que la respuesta aceptada arrojaba errores.
Para instalar con gradle:
dependencies
compile 'io.github.furstenheim:copy_down:1.0'
Entonces para usarlo:
CopyDown converter = new CopyDown();
String myHtml = "Some title
Some htmlAnother paragraph
";
String markdown = converter.convert(myHtml);
System.out.println(markdown);
> Some titlen==========nnSome htmlnnAnother paragraphn
PD. Tiene licencia MIT
Nos puedes reafirmar nuestra ocupación exponiendo un comentario o dejando una puntuación te estamos eternamente agradecidos.