相关疑难解决方法(0)

LXML - 排序标签顺序

我有一个遗留的文件格式,我正在转换为XML进行处理.结构可概括为:

<A>
    <A01>X</A01>
    <A02>Y</A02>
    <A03>Z</A03>
</A>
Run Code Online (Sandbox Code Playgroud)

标签的数字部分可以从01到99,并且可能存在间隙.作为处理的一部分,某些记录可能添加了其他标记.处理完成后,我通过追踪树将文件转换回传统格式.文件相当大(约150,000个节点).

这样做的一个问题是,某些使用传统格式的软件假定标签(或转换时的字段)将按字母数字顺序排列,但默认情况下,新标签将添加到分支的末尾,然后分支的末尾导致它们以错误的顺序从迭代器中出来.

我可以使用XPath来查找,每次我来添加一个新的标签基于标签的名字前述兄弟,但我的问题是,是否有一个简单的树排序一次只是在出口前路?

编辑:

我想我总结了结构.

记录可以包含如上所述的几个级别,以提供如下内容:

<X>
    <X01>1</X01>
    <X02>2</X02>
    <X03>3</X03>
    <A>
        <A01>X</A01>
        <A02>Y</A02>
        <A03>Z</A03>
    </A>
    <B>
        <B01>Z</B02>
        <B02>X</B02>
        <B03>C</B03>
    </B>
</X>
Run Code Online (Sandbox Code Playgroud)

python xml lxml

6
推荐指数
2
解决办法
8897
查看次数

标签 统计

lxml ×1

python ×1

xml ×1