我是Python新手,我正在尝试用一些规则对XML进行排序。
我的例子:
<?xml version="1.0"?>
<data>
<e2 id="3" name="name3">
<e12 num="num12" desc="desc12"/>
<e12 num="num12" desc="desc11"/>
<e11 num="num1" desc="desc1"/>
</e2>
<e2 id="2" name="name2">
<e11 num="num1" desc="desc1"/>
</e2>
<e1 id="1" name="name1">
<e12 num="num12" desc="desc12"/>
<e11 num="num4" desc="desc4"/>
</e1>
</data>
我的规则是:
1) 按各个元素中的名称对每个属性进行排序
2) 排序元素
*按标记名(如果没有属性)
*如果标记名按属性顺序相同
在我的例子中,我需要先排序e1,然后再排序e2,
因为我有2个e2元素,所以我需要分别按它们的属性名进行排序,就像一个元素的id=2,第二个元素的id=3,所以应该按照id值来排序。
所需的输出XML如下所示:
有什么建议或想法吗?
谢谢您。在
可以使用ElementTree对XML进行排序。在我的例子中,我首先按标记名排序,然后按属性“name”的值排序,然后按标记名和属性“desc”的值对子元素进行排序
这个指纹
^{pr2}$带有
xml.etree.ElementTree
对象的解决方案:最后的
^{pr2}$result.xml
内容:相关问题 更多 >
编程相关推荐