在python中使用sax2生成xml

发布于 2024-10-12 12:13:43 字数 401 浏览 4 评论 0原文

我有一个数据模型或类中的对象,我需要通过读取 xml 文件来初始化它,或者从头开始创建该对象并将其输出到 xml 文件。以前,我只是使用 python 中的字符串操作来读取 xml (file.read + string.find) 和写入 xml (file.write),而不进行错误检查。

现在我正在考虑使用 Sax2 来做到这一点。我知道如何进行读取,但不太清楚如何进行写入。看起来sax2适用于有原始xml并且您想在某些修改后输出的情况。就我而言,我想将数据模型输出为 xml,根本没有原始 xml。我想知道 sax2 是否好或者适合这个,或者我应该继续使用我的旧方法。使用 python 从 XML 输入/输出类对象的更好方法是什么?该类非常简单(只是一个列表信息的列表集合,即根->子代->孙子)并且尺寸很小。

感谢您的任何建议。

I have a data model or an object from a class, and I need to initialize it by reading from an xml file, or create this object from scratch and output it to an xml file. Previously, I simply use string operations from python to read xml (file.read + string.find) and write xml (file.write), without error checking.

Now I am thinking to use Sax2 to do this. I know how to do it for the read, but not very clear about write. It looks like the sax2 is used for the case when there is an original xml and you want to output after certain modifications. In my case I want to output my data model to xml, with no original xml at all. I wonder if sax2 is good or suitable for this or I should keep using my old way. What is the better way to input/output a class object from/to XML with python? The class is very simple (just a list collection of a list information, i.e., root -> children -> grandchildren) and small size.

Thanks for any suggestions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

汐鸠 2024-10-19 12:13:43

尝试 pythonic XML 处理方式: 元素树

使用`xml 可以轻松生成 XML 输出.etree.ElementTree.ElementTree.write()

写入(文件,编码=“us-ascii”,xml_declaration=无,方法=“xml”)

将元素树以 XML 形式写入文件。 file 是文件名,或打开用于写入的文件对象。编码 1 是输出编码(默认为 US-ASCII)。 xml_declaration 控制是否应将 XML 声明添加到文件中。使用 False 表示从不,True 表示始终,None 表示仅当不是 US-ASCII 或 UTF-8 时(默认为 None)。方法是“xml”、“html”或“text”(默认为“xml”)。返回编码字符串。

从文本文件加载 ElementTree 对象的示例:

>>> from xml.etree.ElementTree import ElementTree
>>> tree = ElementTree()
>>> tree.parse("index.xhtml")

Try the pythonic XML processing way: ElementTree.

Generating XML output is easy with`xml.etree.ElementTree.ElementTree.write().

write(file, encoding="us-ascii", xml_declaration=None, method="xml")

Writes the element tree to a file, as XML. file is a file name, or a file object opened for writing. encoding 1 is the output encoding (default is US-ASCII). xml_declaration controls if an XML declaration should be added to the file. Use False for never, True for always, None for only if not US-ASCII or UTF-8 (default is None). method is either "xml", "html" or "text" (default is "xml"). Returns an encoded string.

Example loading ElementTree object from text file:

>>> from xml.etree.ElementTree import ElementTree
>>> tree = ElementTree()
>>> tree.parse("index.xhtml")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文