无法在python中分析url xml

2024-05-13 21:36:51 发布

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

我已经尝试了几个小时使用python从url解析这个示例xml,但无法提取定义。下面是一个样本的样子

<entry_list version="1.0">
  <entry id="polycystic kidney disease">
    <ew>polycystic kidney disease</ew>
    <hw>polycystic kidney disease</hw>
    <fl>noun</fl>
    <def>
      <sensb>
        <sens>
          <dt> Blah blah blah
          </dt>
        </sens>
      </sensb>
    </def>
  </entry>
</entry_list>

我试图访问“dt”标记,因为这就是我的定义所在。这是包含xml的url的简短版本。你们谁能帮我?你知道吗


Tags: url定义defdtxmllistsensentry
2条回答

如果你安装了BeautifulSoup,类似的东西应该可以工作

from bs4 import BeautifulSoup

xml = '''<entry_list version="1.0">
  <entry id="polycystic kidney disease">
    <ew>polycystic kidney disease</ew>
    <hw>polycystic kidney disease</hw>
    <fl>noun</fl>
    <def>
      <sensb>
        <sens>
          <dt> Blah blah blah
          </dt>
        </sens>
      </sensb>
    </def>
  </entry>
</entry_list>'''

parsed = BeautifulSoup(xml)

for dt in parsed.findAll("dt"):
    print dt.contents

这对你有用

导入xml.etree.ElementTree文件作为ET

data = '''
<entry_list version="1.0">
  <entry id="polycystic kidney disease">
    <ew>polycystic kidney disease</ew>
    <hw>polycystic kidney disease</hw>
    <fl>noun</fl>
    <def>
      <sensb>
        <sens>
          <dt> Blah blah blah
          </dt>
        </sens>
      </sensb>
    </def>
  </entry>
</entry_list>'''

flag = ET.fromstring(data)
print flag.find('entry/def/sensb/sens/dt').text

相关问题 更多 >