Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将XML或HTML转换为Wiki标记-您会选择什么方法?_Java_Php_Perl_Scripting_Scripting Language - Fatal编程技术网

Java 将XML或HTML转换为Wiki标记-您会选择什么方法?

Java 将XML或HTML转换为Wiki标记-您会选择什么方法?,java,php,perl,scripting,scripting-language,Java,Php,Perl,Scripting,Scripting Language,我需要将HTML文档(从XML文档生成)转换为Wiki标记语言,特别是转换为标记语言。目标是在我们新创建的wiki中包含公司的应用程序操作指南。这意味着我实际上有两个选择: 将HTML(从DocBook XMLs生成)转换为wiki 将Docbook XML直接转换为wiki 由于HTML是由DocBook到HTML转换器生成的,因此在HTML文档中定义标记的方式变化不大,只是文档的内容不同 我正在寻找一个可以由我自己快速实施的解决方案。每次创建新版本的应用程序操作指南时,我都必须进行一次转换

我需要将HTML文档(从XML文档生成)转换为Wiki标记语言,特别是转换为标记语言。目标是在我们新创建的wiki中包含公司的应用程序操作指南。这意味着我实际上有两个选择:

  • 将HTML(从DocBook XMLs生成)转换为wiki
  • 将Docbook XML直接转换为wiki
  • 由于HTML是由DocBook到HTML转换器生成的,因此在HTML文档中定义标记的方式变化不大,只是文档的内容不同

    我正在寻找一个可以由我自己快速实施的解决方案。每次创建新版本的应用程序操作指南时,我都必须进行一次转换

    到目前为止我想到的解决方案:

  • 使用基于正则表达式的Perl或PHP脚本将HTML转换为wiki
  • 将Docbook XML直接转换为wiki。因为它是XML,所以我可以使用Java进行XML解析。这里的风险是我不熟悉DocBooks XML格式(就像我熟悉HTML一样),因此这需要一些时间来学习
  • 你会选择什么方法来完成这项工作

    更新:

    我刚刚尝试了一个名为PMWiki的扩展。它没有很好地工作,因为它没有转换HTML标记(例如,没有像在wiki中那样转换),正如它的文档所说:

    PmWiki标记不支持所有HTML标记,因此无法进行100%转换。但是,PmWiki可以在编辑或保存文本时替换文本。ConvertHTML实现了一组相对全面的规则,用于将HTML标记转换为wiki标记

    我过去常常从一个简单的XML文件中生成Java对象,并通过Java修改它以满足我的需要。这是一个非常简单易用的工具。也许你想试试。为我工作。

    可能有用,但它可以从DocBook转换为MediaWiki,而不是PM Wiki

    有一些Perl模块可以将HTML转换为各种Wiki方言:。因此,如果您可以将DocBook转换为HTML,那么这也可能会起作用。

    试试看


    (更新链接10Mar2020)

    如果您使用的是小型xml文件,Digester非常酷。但是,如果xml文件越来越大,我们应该真正使用另一个解析器(因为digester是处理大文件最慢的解析器之一[文件大小>5-10MB时可以识别]),这很有趣。但是我需要从Java对象生成HTML。我认为在这种情况下,它不是最容易实现的解决方案。+1表示
    HTML::WikiConverter
    。看起来不错。无论您做什么,都不要使用正则表达式解析HTML。;-)WikiConverter似乎正是我所需要的。我今天要试一试。支持我想要的PMWiki方言:HTML::WikiConverter运行良好。这不是一个完美的转换,但却是迄今为止我发现的最好的解决方案。XML是用来交换数据的——因此将XML转换为HTML,然后解析HTML是没有意义的。因此+1用于直接XML解析-这将容易得多。@rebugger,这并不一定容易,因为XML到HTML转换器是我们已经拥有的。链接已移至。