python lxml模块对xml属性顺序进行排列_python - 根据节点值对XML文件进行排序 - 堆栈内存溢出...

我试图比较两个具有相同内容但有时不同行的XML文件。 为了克服这个问题,我试图对一个子节点上的XML进行排序(通常在两个文件中的位置都不同)。

这是我的示例XML文件

Sample

AggrDataSet

Registered Customer 103

RC103

CM022

Registered Customer 055

RC055

CM022

Registered Customer 047

RC047

CM022

Registered Customer 015

RC015

CM022

Registered Customer 024

RC024

CM022

我正在尝试基于父节点的节点进行排序。 无论我尝试哪种方法,我的文档都无法排序。 我尝试使用XSLT,但是排序不起作用。 我什至尝试编写python脚本,但无法排序。

这是我的python脚本-

import sys

from lxml import etree

filename, tag = sys.argv[1:]

doc = etree.parse(filename, etree.XMLParser(remove_blank_text=True))

root = doc.getroot()

root[:] = sorted(root, key=lambda el: el.findtext(tag))

print etree.tostring(doc, pretty_print=True)

我执行python test.py 2.xml membId来运行脚本(请注意,2.xml是输入xml的文件名,而membId是我正在寻找的标签)。

对于我要去哪里出错的任何帮助,我将深表感谢。 我只是从Python开始,所以我可能犯了一些非常明显的错误。 python脚本或XSLT解决方案(均可)对我有用!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值