小编Chr*_*ung的帖子

Python ElementTree findall 不起作用

所以我试图解析一些开放数据来构建数据库。\n这就是我所做的:

\n\n
# -*- coding: utf-8 -*-\nimport urllib\nimport xml.etree.ElementTree as ET\n\nurl = \'http://opendata.cwb.gov.tw/govdownload?dataid=C-A0008-001&authorizationkey=rdec-key-123-45678-011121314\'\n\nroot = ET.parse(urllib.urlopen(url)).getroot()\n\nlocations = root.findall(\'dataset/location\')\nprint type(locations)\nprint "Counts:", len(locations)\n
Run Code Online (Sandbox Code Playgroud)\n\n

它返回:

\n\n
Counts: 0\n
Run Code Online (Sandbox Code Playgroud)\n\n

我尝试解析其他一些 xml 数据(更改 url),效果很好

\n\n

我正在处理的 xml 数据大致如下:

\n\n
<?xml version="1.0" encoding="UTF-8"?><cwbopendata xmlns="urn:cwb:gov:tw:cwbcommon:0.1">\n<identifier>0f819d32-297a-4512-9654-990a565bd080</identifier>\n<sender>weather@cwb.gov.tw</sender>\n<sent>2016-05-23T16:07:06+08:00</sent>\n<status>Actual</status>\n<msgType>Issue</msgType>\n<dataid>CWB_A0008</dataid>\n<scope>Public</scope>\n<dataset>\n    <location>\n        <stationId>72C44</stationId>\n        <time>\n        <dataTime>105 4_2</dataTime>\n        </time>\n        <weatherElement>\n        <elementName>\xe5\xb9\xb3\xe5\x9d\x87\xe6\xb0\xa3\xe6\xba\xab</elementName>\n        <elementValue>\n        <value>21.1</value>\n        </elementValue>\n        .\n        .\n        .\n    </location>\n    <location>\n    .\n    .   \n    .\n
Run Code Online (Sandbox Code Playgroud)\n\n

抱歉,我是 python 和 ElementTree 的新手,希望得到一些好的建议,谢谢

\n

python xml elementtree findall

3
推荐指数
1
解决办法
8402
查看次数

标签 统计

elementtree ×1

findall ×1

python ×1

xml ×1