在Python中使用etree解析XML

阿比

我看了文档和其他类似的问题,无法解决这里出了什么问题!

我想使用API​​的XML输出。

我有看起来像这样的XML:

<response>
<lst></lst>
<result>
    <doc>
        <str name ="pa">1234</str>
        <str name ="et">Title 1</str>
        <str name ="pb">Publisher 1</str>
        <str name ="ur">http://www.exampleone.com</str>
    </doc>
    <doc>
        <str name ="pa">5678</str>
        <str name ="et">Title 2</str>
        <str name ="pb">Publisher 2</str>
        <str name ="ur">http://www.exampletwo.com</str>
    </doc>
</result>

我想为每个doc元素获取“ pa”。

这是我正在使用的代码,但一无所获:

import requests
import xml.etree.ElementTree as ET

r = requests.get("api url goes here")

tree = ET.fromstring(r.content)

for doc in tree.findall("doc"):
    pan = doc.find('pa').text
    print pan

我究竟做错了什么?

Chapelo

这应该工作...

import xml.etree.ElementTree as ET

resp = '''<response><lst></lst><result><doc>
            <str name ="pa">1234</str>
            <str name ="et">Title 1</str>
            <str name ="pb">Publisher 1</str>
            <str name ="ur">http://www.exampleone.com</str>
          </doc>
          <doc>
            <str name ="pa">5678</str>
            <str name ="et">Title 2</str>
            <str name ="pb">Publisher 2</str>
            <str name ="ur">http://www.exampletwo.com</str>
          </doc></result></response>'''

tree = ET.fromstring(resp)

for pan in tree.findall('.//str[@name="pa"]'):
    print(pan.text)

使用您的代码,需要进行一些小的更改才能起作用:

任何一个:

for doc in tree[1].findall("doc"):
    pan = doc.find('str[@name="pa"]').text
    print (pan)

或者

for doc in tree.findall(".//doc"):
    pan = doc.find('str[@name="pa"]').text
    print (pan)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在python中使用xml.etree解析XML抛出TypeError

来自分类Dev

使用 xmldom 或 etree 使用 python 解析 XML

来自分类Dev

使用Python和xml.etree解析XML

来自分类Dev

使用Python xml.etree解析xml文件:空结果

来自分类Dev

使用Python和xml.etree解析XML

来自分类Dev

使用lxml.etree在Python中解析XML

来自分类Dev

Windows XML输出的Python ETREE解析

来自分类Dev

XML 解析帮助 Python lxml、etree 或 dom

来自分类Dev

使用xml.etree.ElementTree的Python xml解析不起作用

来自分类Dev

使用xml.etree或Dom API的Python中的XML解析问题

来自分类Dev

在Python中使用lxml解析XML文件

来自分类Dev

在Python中使用解码进行XML解析

来自分类Dev

在python中使用rest和解析xml

来自分类Dev

在php中使用python脚本解析XML

来自分类Dev

在 Python 中使用 minidom 解析 XML

来自分类Dev

python(xml.etree.ElementTree)中的XML解析

来自分类Dev

查询:使用xml.etree解析以下xml代码?

来自分类Dev

使用xml.etree.ElementTree XML解析子元素

来自分类Dev

Python 3x:使用python xml.etree解析具有名称空间的xml文件

来自分类Dev

使用python etree获取xml的属性

来自分类Dev

使用Etree和Python编辑XML

来自分类Dev

使用xml.etree.ElementTree(python)解析XML时,如何区分常规空格和转义空格(&#32;)

来自分类Dev

使用Python模块xml.etree.ElementTree解析有点复杂的XML并将值存储在List中

来自分类Dev

Python xml解析etree按位置查找元素X

来自分类Dev

无法使用xml.etree.ElementTree解析html

来自分类Dev

etree xml解析和删除

来自分类Dev

在python 3中使用lxml解析xml

来自分类Dev

如何在python中使用unangle从子进程解析xml

来自分类Dev

使用 Python xml.etree.ElementTree 遍历 XML 树的问题

Related 相关文章

热门标签

归档