使用提取的信息映射 xml 文件



我正在尝试根据配置文件(也可以是xml文件)将一个xml文件映射到另一个xml文件。

输入

<ia>
    <ib>...</ib>
    <ic>...</ic>
</ia>

输出

<oa>
    <ob>...</ob>
    <oc>...</oc>
</oa>

配置

<config>
    <conf>
        <input>ia</input>
        <output>oa</output>
    </conf>
    <conf>
        <input>ib</input>
        <output>ob</output>
    </conf>
    .....
</config>

因此,目的是解析一个 xml 文件并检索我感兴趣的信息,并写入另一个在配置文件中指定映射信息的 xml 文件。

由于脚本性质(以及稍后使用插件扩展),以及对xml处理的支持,我正在考虑python。我刚刚学习了语言的语法和基础知识,并了解了lxml

一种方法可以做到这一点

  1. 解析配置文件(其中,标签可以有我感兴趣的节点的xpath)
  2. 读取输入文件
  3. 写入输出,使用基于配置文件的 etbuilder

作为 python 的新手,并且没有看到对 etbuilder 的 xpath 支持,我想知道这是不是最好的方法。也不确定所有例外情况。有没有更简单的方法,或者任何其他库中的本机支持。如果可能的话,我不想在这项任务上花费太多时间,因为我可以专注于核心任务。

提前感谢INS。

如果您希望将一个 XML 文件转换为另一个 XML 文件,那么 XSLT 就是为此目的而创建的。您必须定义一个描述 XML 内容的转换以及最终输出的外观的.xslt文件。这是一种方法。

您还可以使用 lxml 读取 XML 文件,并使用 lxml.etree.ElementTree 生成输出 XML。我不熟悉etbuilder但我认为生成所需的输出并不那么困难。解析输入文件后,可以生成配置 XML 并将其写入文件。

XPath主要用于读取XML内容,您不需要它来构造XML文件。事实上,如果你使用适当的XML解析器,那么你也不需要XPath来读取文件内容,尽管XPath可以使生活更轻松一些。

相关内容

  • 没有找到相关文章

最新更新