【问题标题】:Python: Universal XML parserPython:通用 XML 解析器
【发布时间】:2016-03-01 21:02:54
【问题描述】:

我正在尝试制作简单的 Python 3 程序来从 XML Web 源读取天气信息,将其转换为 Python 可读对象(可能是字典)并对其进行处理(例如将多个观察结果可视化为图形)。
数据来源是国家气象局的(直接翻译)xml 文件,位于代码中提供的链接。 与 Stack Overflow 中典型的 XML 解析相关问题的不同之处在于,存在没有标签内标识符的重复标签(在我的示例中为 <station> 标签),有些带有(第一行,<observations timestamp="14568.....">)。另外我想尝试直接从网站解析它,而不是本地文件。当然,我也可以创建本地临时文件。
到目前为止,我所拥有的只是加载脚本,它提供了包含用于预测和最新天气观测的 xml 代码的字符串。

from urllib.request import urlopen
#Read 4-day forecast
forecast= urlopen("http://www.ilmateenistus.ee/ilma_andmed/xml/forecast.php").read().decode("iso-8859-1")
#Get current weather
observ=urlopen("http://www.ilmateenistus.ee/ilma_andmed/xml/observations.php").read().decode("iso-8859-1")

简而言之,我正在寻找尽可能通用的方法来将 XML 解析为 Python 可读对象(例如字典/JSON 或列表),同时将所有信息保留在 XML 文件中。

P.S 我更喜欢标准的 Python 3 模块,比如 xml,我没看懂。

【问题讨论】:

    标签: python-3.x xml-parsing urllib


    【解决方案1】:

    尝试使用xmltodict 包将XML 结构简单转换为Python dict:https://github.com/martinblech/xmltodict

    【讨论】:

    • 谢谢,虽然我想避免使用非标准库,因为我以前从未使用 pip 安装过。但我得到了它的工作。
    猜你喜欢
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多