繁体   English   中英

使用lxml将xml转换为Python数据结构

[英]xml to Python data structure using lxml

如何使用lxml将xml转换为Python数据结构?

我搜寻过高低,但找不到任何东西。

输入例

<ApplicationPack>
  <name>Mozilla Firefox</name>
  <shortname>firefox</shortname>
  <description>Leading Open Source internet browser.</description>
  <version>3.6.3-1</version>
  <license name="Firefox EULA">http://www.mozilla.com/en-US/legal/eula/firefox-en.html</license>
  <ms-license>False</ms-license>
  <vendor>Mozilla Foundation</vendor>
  <homepage>http://www.mozilla.org/firefox</homepage>
  <icon>resources/firefox.png</icon>
  <download>http://download.mozilla.org/?product=firefox-3.6.3&amp;os=win&amp;lang=en-GB</download>
  <crack required="0"/>
  <install>scripts/install.sh</install>
  <postinstall name="Clean Up"></postinstall>
  <run>C:\\Program Files\\Mozilla Firefox\\firefox.exe</run>
  <uninstall>c:\\Program Files\\Mozilla Firefox\\uninstall\\helper.exe /S</uninstall>
  <requires name="autohotkey" />
</ApplicationPack>
>>> from lxml import etree
>>> treetop = etree.fromstring(anxmlstring)

将字符串中的xml转换为Python数据结构,所以也是如此

>>> othertree = etree.parse(somexmlurl)

其中somexmlurl是本地XML文件的路径或Web上XML文件的URL。

这些函数提供的Python数据结构(被称为“元素树”,因此etree模块名称) 在这里有充分的文档记录-有问题的Python数据结构支持的所有类,函数,方法等。 顺便说一下,它与Python标准库中支持的紧密匹配。

如果要使用其他不同的 Python数据结构,则必须遍历lxml返回的Python数据结构,如上所述,并根据收集到的信息自己构建不同的数据结构。 lxml不能专门为您提供帮助,除非提供几个帮助程序以在返回的已解析结构中查找信息,以便收集所述信息是一项灵活,容易的任务(同样,请参见上面的文档URL)。

尚不清楚您要查找哪种数据结构,但这是一个代码示例的链接,该代码示例可通过lxml.etreeXML转换为列表的python字典

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM