当前位置: 首页 > 面试题库 >

Python-如何在Python中解析XML?

利永年
2023-03-14
问题内容

我在包含XML的数据库中有很多行,并且试图编写Python脚本来计算特定节点属性的实例。

我的树看起来像:

<foo>
   <bar>
      <type foobar="1"/>
      <type foobar="2"/>
   </bar>
</foo>

如何使用Python访问XML中的属性“1”和“2”?


问题答案:

我建议ElementTree。相同的API还有其他兼容的实现,例如lxmlcElementTreePython标准库本身中。但是,在这种情况下,他们主要添加的是更高的速度-编程的难易程度取决于ElementTree定义的API 。

首先rootXML 构建XMLElement实例,例如使用XML函数,或者通过解析文件,例如:

import xml.etree.ElementTree as ET
root = ET.parse('thefile.xml').getroot()

或中显示的许多其他方式中的任何一种ElementTree。然后执行以下操作:

for type_tag in root.findall('bar/type'):
    value = type_tag.get('foobar')
    print(value)

和类似的,通常很简单的代码模式。



 类似资料:
  • 问题内容: 我的项目目前正在python中接收JSON消息,我需要从中获取一些信息。为此,我们将其设置为字符串中的一些简单JSON: 到目前为止,我一直在使用列表生成JSON请求,但是与此相反,我认为我需要使用。但是我没有那么幸运。谁能为我提供一个片段,该片段将在上述示例的输入中返回? 问题答案: 很简单:

  • 问题内容: 是否有任何模块可以将重组文本解析为树模型? docutils或狮身人面像可以这样做吗? 问题答案: Docutils确实包含用于执行此操作的工具。 您可能想要的是位于的解析器 有关所涉及内容的详细信息,请参见此页面。也有一些示例-特别是检查功能,这可能很有趣。

  • 问题内容: HTML图像元素具有以下简化格式: 那可以是,例如: 是否有使用python解析此内容的标准方法,以便获取和base64数据分开,还是应该为此创建自己的解析器? 问题答案: 在逗号上分割数据URI,以获得没有标题的base64编码数据。调用以将其解码为字节。最后,将字节写入文件。

  • 问题内容: 如何在Python中解析YAML文件? 问题答案: 不依赖标头的最简单,最纯净的方法是(文档),可以通过以下方式安装: 就是这样。一个普通的函数也存在,但是除非你明确需要提供的任意对象序列化/反序列化,以避免引入执行任意代码的可能性,否则通常应首选该函数。

  • 问题内容: 我想使用python解析一个简单的小型XML文件,但是在pyXML上的工作似乎已经停止了。如果可能的话,我想使用python 2.6。谁能推荐可以与2.6兼容的XML解析器? 谢谢 问题答案: 如果它既小又简单,则只需使用标准库即可: 这将返回实现标准文档对象模型API的DOM树 如果以后需要执行诸如模式验证或XPath查询之类的复杂操作,那么我建议使用第三方lxml模块,它是流行的l

  • 问题内容: 该消息包含很多示例,时间有点长,但是我希望它能帮助我和其他人更好地掌握Python 2.7中变量和属性查找的全部内容。 我正在将PEP 227(http://www.python.org/dev/peps/pep-0227/)的术语用于代码块(例如模块,类定义,函数定义等)和变量绑定(例如作为赋值,参数声明,类和函数声明,for循环等) 我将术语变量用于可以不带点号调用的名称,将属性用