Python用lxml troub解析xml

2024-03-29 02:17:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这个问题上发现了很多问题,但我看到的都不符合我的。我是lxml的新手,所以需要一些帮助。你知道吗

我的用户.xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<root>
    <user>
    <login>elena</login>
    <password>elena</password>
    <group>1</group>
    </user>

    <user>
    <login>anele</login>
    <password>anele</password>
    <group>2</group>
    </user>
</root>

故障函数:

def analize_data(login):
   doc = etree.parse("/myapp/users.xml")   
   for elem in doc.iter(tag='login'):       
       if elem.text == login:
          parent = elem.getparent()
          group = etree.SubElement(parent, 'group')
          return group.text

我需要什么: 查找一个用户标签,并将login传递给函数,然后获取该用户的子元素的文本。但是这个函数在测试时不返回任何值。我做错了什么?如何解决?你知道吗

我对这些都不熟悉,所以需要帮助。提前谢谢!你知道吗


Tags: 函数text用户docgrouploginrootpassword
1条回答
网友
1楼 · 发布于 2024-03-29 02:17:13

尝试使用:

group = parent.iterchildren(tag="group").next()

etree.SubElement做了一些完全不同的事情:

This function creates an element instance, and appends it to an existing element.

这显然不是你想要的。你知道吗

相关问题 更多 >