gpt4 book ai didi

Python。如何使用 libxml2 获取属性值

转载 作者:太空狗 更新时间:2023-10-29 21:38:09 26 4
gpt4 key购买 nike

我使用的是 MINIDOM,但它不提供 xpath 方法。

我现在正在尝试使用 libxml2,但在检索属性值时遇到问题。

我的 xml 的摘录如下所示:

<Class name="myclass1" version="0">
<Owner user-login="smagnoni"/>
</Class>

然后我写了下面的代码:

import libxml2
doc = libxml2.parseFile(file)
ris = doc.xpathEval('*/Class[@name="'+className+'" and @version="'+classVersion+'"]/Owner')
print str(ris[0])

返回:

<Owner user-login="smagnoni"/>

我怎样才能得到“smagnoni”?手动解析字符串感觉工作量过大。但我没有在 minidom 中找到可与 .getAttribute("attribute-name") 相媲美的方法。

任何人都可以建议正确的方法或指导我查看文档吗?

最佳答案

.prop('user-login') 应该有效:

import libxml2
import io
content='''\
<Class name="myclass1" version="0">
<Owner user-login="smagnoni"/>
</Class>
'''
doc = libxml2.parseMemory(content,len(content))
className='myclass1'
classVersion='0'
ris = doc.xpathEval('//Class[@name="'+className+'" and @version="'+classVersion+'"]/Owner')

elt=ris[0]
print(elt.prop('user-login'))

产量

smagnoni

关于Python。如何使用 libxml2 获取属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6791503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com