0

我如何使用 xwiki 从 html 转换为 markdown,

为 shouldRenderHtmlToMarkdown 获取“java.lang.NoSuchFieldError: fRecognizedFeatures”,尝试了不同格式的 html。

public class HtmlRendererTest
{
    private Converter converter;
    private WikiPrinter printer;

    @Test
    public void testHtmlToMarkdown() throws ComponentLookupException, ConversionException, ParseException, ComponentRepositoryException
    {
        WikiPrinter printer = new DefaultWikiPrinter();
        converter.convert(new StringReader("<h3 id=\"HHeader3\"><span>Header 3</span></h3>"), Syntax.XHTML_1_0, Syntax.MARKDOWN_1_1,  printer);

        System.out.println(printer.toString());
        assertThat(printer.toString(), containsString("###"));
    }

    @Test
    public void testMarkdownToHtml() throws ComponentLookupException, ConversionException, ParseException, ComponentRepositoryException
    {
        WikiPrinter printer = new DefaultWikiPrinter();
        converter.convert(new StringReader("### Header 3"), Syntax.MARKDOWN_1_1, Syntax.ANNOTATED_XHTML_1_0, printer);

        System.out.println(printer.toString());
        assertThat(printer.toString(), containsString("</h3>"));
    }

    @Before
    public void setUp() throws ComponentLookupException, ConversionException
    {
        EmbeddableComponentManager componentManager = new EmbeddableComponentManager();
        componentManager.initialize(this.getClass().getClassLoader());

        converter = componentManager.getInstance(Converter.class);
        printer = new DefaultWikiPrinter();
    }

}
4

1 回答 1

0

XWiki 目前只为 Markdown 提供解析器,因此除非您自己编写了 Markdown 序列化程序,否则 shouldRenderHtmlToMarkdown 不能真正工作。

现在它不是“java.lang.NoSuchFieldError: fRecognizedFeatures”的意思,通常这意味着你有一些不兼容的 jars(一个类希望找到一个字段,但目标类不在预期的版本中)。完整的堆栈跟踪可能有助于了解哪些堆栈跟踪。

于 2015-07-10T07:58:49.573 回答