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

2024-06-12 03:03:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试基于配置文件(也可以是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文件,其中映射信息在config文件中指定。你知道吗

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

一种方法是

  1. 解析配置文件(其中,标记可以包含指向我感兴趣的节点的xpath)
  2. 读取输入文件
  3. 根据配置文件使用etbuilder写入输出

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

提前谢谢。你知道吗


Tags: 文件方法configinputoutputconf配置文件xml
1条回答
网友
1楼 · 发布于 2024-06-12 03:03:16

如果您希望将一个XML文件转换成另一个XML文件,那么XSLT就是为此而做的。您必须定义一个.xslt文件来描述XML内容的转换以及最终的输出应该是什么样子。这是一种方法。你知道吗

您还可以使用lxml读取XML文件,并使用lxml.etree.ElementTree生成输出XML。我不熟悉etbuilder,但我认为生成所需的输出并不是那么困难。一旦解析了输入文件,就可以构建配置XML并将其写入文件。你知道吗

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

相关问题 更多 >