【问题标题】:The ways to transform a source xml to another xml将源 xml 转换为另一个 xml 的方法
【发布时间】:2011-12-03 07:08:55
【问题描述】:

有一个源 xml 文档。现在我想将它转换为另一个具有相同内容但元素顺序不同的 xml 文档。我的想法是使用 xslt,我认为这种方式也很好。

但是,我想知道还有其他方法吗?

谢谢

【问题讨论】:

    标签: xml transform


    【解决方案1】:

    xslt 很好,但您也可以从脚本语言调用一些 XML 库,甚至可以用 C 或 C++ 编写程序 ....

    这实际上取决于性能考虑....(如果您每天必须处理数百 GB 大小的 XML 文档,或者一次只处理几十兆字节的文档)。

    【讨论】:

    • 我不知道你为什么说这取决于性能方面的考虑。您认为哪种方法会更快,为什么?您是否期望 XSLT 处理器中的排序引擎比 C++ 中的排序库更快或更慢?我希望它大致相同。
    【解决方案2】:

    您可以使用 Perl、Java、PHP、Ruby、Python 等编程语言来解析 XML,然后以所需的形式输出新的。

    但是,正如您所说,XSLT 是最好的方法。

    【讨论】:

      【解决方案3】:

      作为 XSLT 的替代方案并使用您最喜欢的编程语言,有一个命令行工具 xmlstarlet 可以用比 xslt 简单得多的语法来处理大量 xml。请参阅此处了解概览

      http://xmlstar.sourceforge.net/overview.php

      这里有一个很好的教程:

      http://www.ibm.com/developerworks/library/x-starlet/index.html

      【讨论】:

        【解决方案4】:

        还可以考虑 XQuery。我通常的经验法则是,对于简单任务,XQuery 比 XSLT 更好,而对于复杂任务,XSLT 更好。您尚未向我们展示您的数据,但 XQuery 中的解决方案可能很简单

        <data> {
          for $row in /*/row
          order by $row/sort-key
          return $row
        }</data>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-05-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-08
          • 1970-01-01
          相关资源
          最近更新 更多