Pergunta

existe uma maneira fácil de transformar HTML em markdown com JAVA?

Atualmente estou usando o Java MarkdownJ biblioteca para transformar markdown em html.

import com.petebevin.markdown.MarkdownProcessor;
...
public static String getHTML(String markdown) {
    MarkdownProcessor markdown_processor = new MarkdownProcessor();
    return markdown_processor.markdown(markdown);
}

public static String getMarkdown(String html) {
/* TODO Ask stackoverflow */
}
Foi útil?

Solução

Usa isto XSLT.

Se precisar de ajuda para usar XSLT e Java, aqui está um trecho 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));
    }

Outras dicas

Eu me deparei com o comentário para converter HTML em Markdown, veja: http://remark.overzealous.com/manual/index.htmlDepende do JSoup, uma poderosa biblioteca Java para trabalhar com HTML do mundo real.

Estou trabalhando no mesmo problema e experimentando algumas técnicas diferentes.

A resposta acima pode funcionar.Você poderia usar o biblioteca jTidy para fazer o trabalho de limpeza inicial e converter de HTML para XHTML.Você usa o Folha de estilo XSLT vinculado acima.

Infelizmente não existe nenhuma biblioteca que tenha uma função completa para fazer isso em Java.Você poderia tentar usar o script Python html2texto com Jython, mas ainda não tentei isso!

se você estiver usando o editor WMD e quiser obter o código de desconto no lado do servidor, basta usar estas opções antes de carregar o wmd.js roteiro:

wmd_options = {
        // format sent to the server.  can also be "HTML"
        output: "Markdown",

        // line wrapping length for lists, blockquotes, etc.
        lineLength: 40,

        // toolbar buttons.  Undo and redo get appended automatically.
        buttons: "bold italic | link blockquote code image | ol ul heading hr",

        // option to automatically add WMD to the first textarea found.
        autostart: true
    };
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top