我有以下带有命名空间的XML。

<ns:loginResponse xmlns:ns="http://sumo.fsg.gre.ac.uk">
    <ns:return xmlns:ax21="http://sumo.fsg.gre.ac.uk/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:type="ax21:Authorisation_LoginResults">
        <ax21:key>key</ax21:key>
        <ax21:lastAccess>1569262077707</ax21:lastAccess>
        <ax21:success>true</ax21:success>
    </ns:return>
</ns:loginResponse>


我需要在python中处理此代码。我已经阅读了https://docs.python.org/2/library/xml.etree.elementtree.html上有关ElementTree XML API的教程,但无法理解如何访问标签ax21:key,ax21:lastaccess等中的值。

一些在python中访问这些元素的代码片段将不胜感激。

最佳答案

尝试使用Beautifulsoup解析xml:

from bs4 import BeautifulSoup
with open(r"test.xml","r",encoding='utf8') as f:
    content = f.read()
    soup = BeautifulSoup(content,'html.parser')
    for tag in soup.find_all('ax21:key'):
        print(tag.get_text())

09-25 19:56