python的name属性_python-如何获取命名空间的元素的属性

我正在解析每天从供应商处收到的XML文档,它大量使用名称空间.我已将问题最小化为一个最小子集:

我需要解析一些元素,它们都是具有特定属性的元素的子元素.

我可以使用lxml.etree.Element.findall(TAG,root.nsmap)来查找我需要检查其属性的候选节点.

然后,我尝试通过我知道它使用的名称来检查每个元素的属性:具体来说,这里是ss:Name.如果该属性的值是所需值,那么我将更深入地研究所述元素(继续执行其他操作).

我怎样才能做到这一点?

我正在解析的XML大致

some gorp declaring a bunch of namespaces one of which is

xmlns:ss="THE_VERY_SAME_REALLY_LONG_STRING_AS_ROOT"

>

....

...

....

....

....

...

我找到了第一个想要SomethingIWant的元素(最终我想要它们,所以我确实找到了所有元素)

import lxml

from lxml import etree

tree = etree.parse(myfilename)

root = tree.getroot()

# i want just the first one for now

my_sheet = root.findall('ss:RecordSet', root.nsmap)[0]

现在,我想从该元素中获取ss:Name属性,以对其进行检查,但不确定如何?

我知道my_sheet.attrib将向我显示原始URI,后跟属性名称,但我不希望这样.我需要检查它是否具有用于特定命名空间属性的特定值. (由于错误,我可以完全跳过此元素).

我尝试使用lxml.etree.ElementTree.attrib.get(),但似乎没有获得任何有用的信息.

有任何想法吗?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值