python - 生成xml的最佳方法?

标签 python xml api

我正在创建一个 web api,需要一种快速生成格式良好的 xml 的好方法。我在 python 中找不到任何好的方法。

注意:有些库看起来很有前途,但要么缺少文档,要么只输出到文件。

最佳答案

ElementTree是一个很好的读取 xml 和写入的模块,例如

from xml.etree.ElementTree import Element, SubElement, tostring

root = Element('root')
child = SubElement(root, "child")
child.text = "I am a child"

print(tostring(root))

输出:

<root><child>I am a child</child></root>

查看 tutorial了解更多详细信息以及如何进行 pretty-print 。

或者,如果您的 XML 很简单,请不要低估字符串格式化的力量 :)

xmlTemplate = """<root>
    <person>
        <name>%(name)s</name>
        <address>%(address)s</address>
     </person>
</root>"""

data = {'name':'anurag', 'address':'Pune, india'}
print xmlTemplate%data

输出:

<root>
    <person>
        <name>anurag</name>
        <address>Pune, india</address>
     </person>
</root>

您也可以使用 string.Template 或一些模板引擎来进行复杂的格式化。

关于python - 生成xml的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3844360/

相关文章:

python - 加载未腌制的文件时数据量较大

python - pandas解析excel文件创建箱线图并将其再次存储在excel文件中

java - 从java中的XML文件中删除节点及其元素

c# - 未声明配置元素

java - 如何在不下载附件文件的情况下获取电子邮件正文

php - 使用 api php 使用通配符从 S3 中删除

java - loadComponentFromURL 摔倒身亡,如何进行心肺复苏?

python - 为什么命令及其参数必须在 subprocess.Popen 的列表中?

python 无法理解通过 Winsock 发送的 C++ 字符串

api - Google Map Api - 更改标记的颜色