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

使用python创建一个简单的XML文件

诸葛康胜
2023-03-14
问题内容

如果我想在python中创建一个简单的XML文件,该怎么办?(明智的)

我想要的xml看起来像:

<root>
 <doc>
     <field1 name="blah">some value1</field1>
     <field2 name="asdfasd">some vlaue2</field2>
 </doc>

</root>

问题答案:

如今,最流行(且非常简单)的选项是ElementTree API,该元素自Python 2.5起已包含在标准库中。

可用的选项有:

  • ElementTree(ElementTree的基本,纯Python实现。自2.5以来是标准库的一部分)
  • cElementTree(ElementTree的优化C实现。从2.5开始在标准库中提供)
  • LXML(基于libxml2。提供ElementTree API的丰富超集以及XPath,CSS选择器等)

这是一个如何使用stdlib cElementTree生成示例文档的示例:

import xml.etree.cElementTree as ET

root = ET.Element("root")
doc = ET.SubElement(root, "doc")

ET.SubElement(doc, "field1", name="blah").text = "some value1"
ET.SubElement(doc, "field2", name="asdfasd").text = "some vlaue2"

tree = ET.ElementTree(root)
tree.write("filename.xml")

我已经对其进行了html" target="_blank">测试,并且可以正常工作,但是我假设空格并不重要。如果您需要“ prettyprint”缩进,请告诉我,我将查找如何做。(这可能是特定于LXML的选项。我很少使用stdlib实现)

为了进一步阅读,这里有一些有用的链接:

  • 适用于Python标准库的API文档
  • 入门教程(来自原始作者的网站)
  • LXML etree教程。(带有示例代码,用于从所有主要ElementTree实现中加载最佳可用选项)
  • 最后一点,cElementTree或LXML都应该足够快以满足您的所有需求(都是经过优化的C代码),但是在这种情况下,您需要充分利用性能的最后一点, LXML网站指示:
  • LXML显然在序列化(生成)XML方面胜出
  • 作为实现正确的父遍历的副作用,LXML的解析比cElementTree慢一些。


 类似资料:
  • 本文向大家介绍使用Docker创建一个简单的Numpy Jupyter Notebook,包括了使用Docker创建一个简单的Numpy Jupyter Notebook的使用技巧和注意事项,需要的朋友参考一下 机器学习和数据科学无疑已成为新的流行语。组织现在正在尝试采用数据分析和机器学习技术来预测其销售额并增加收入。毫无疑问,专门的机器学习技术一定会在当今的企业界中发挥优势。如果要在动态且封闭的

  • 本文向大家介绍nodejs使用express创建一个简单web应用,包括了nodejs使用express创建一个简单web应用的使用技巧和注意事项,需要的朋友参考一下 Express 在初始化一个项目的时候需要指定模板引擎,默认支持Jade和ejs。 这里我们使用ejs模板引擎:(关于ejs的介绍可以先从百科里面了解一个大概) EJS是一个JavaScript模板库,用来从JSON数据中生成HTM

  • 让我们开始使用Python和XlsxWriter模块创建一个简单的Excel电子表格。 假设我们有一些要转换为Excel Xlsx文件的每月支出数据: expenses = ( ['Rent', 1000], ['Gas', 100], ['Food', 300], ['Gym', 50], ) 那么,我们可以从如下所示的示例程序开始: import

  • 我目前正在学习Scala 消费者应能够处理以下任务: 跟踪偏移量 找出哪个代理是主题和分区的主代理。 必须能够处理代理领导变更 我找到了一个非常好的文档,用Java创建这个消费者(https://cwiki.apache.org/confluence/display/KAFKA/0.8.0SimpleConsumer示例)。 有没有人有一个创建这个simpleconsumer的示例Scala代码,

  • 本文向大家介绍qml 创建一个简单的按钮,包括了qml 创建一个简单的按钮的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用MouseArea组件轻松地在可单击按钮中转换每个组件。下面的代码显示一个360x360窗口,中间带有一个按钮和一个文本。按下按钮将更改文本:            

  • 问题内容: 我想为我的Web应用程序创建一个授权过滤器(以便能够限制对某些页面的访问)。 我创建了一个简单的.xml文件,其中包含允许每个用户访问的页面: 然后,我需要进行解析以提取页面的值,以便能够创建允许或重定向(依赖)的条件。我只需要告诉别人如何从xml中提取这些页面的值即可。这是我到目前为止所做的: 在doFilter方法内部的注释中,解释了我需要做的事情。有人可以给我一个提示,告诉我如何