加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

从Python编写XML:Python相当于.NET XmlTextWriter?

发布时间:2020-12-20 11:11:10 所属栏目:Python 来源:网络整理
导读:我有一些Iron Python代码,它使用XmlTextWriter,它允许我编写代码 self.writer = System.Xml.XmlTextWriter(filename,None)self.writer.Formatting = Formatting.Indentedself.writer.WriteStartElement(name)self.writer.WriteString(str(text))self.writer.
我有一些Iron Python代码,它使用XmlTextWriter,它允许我编写代码

self.writer = System.Xml.XmlTextWriter(filename,None)
self.writer.Formatting = Formatting.Indented
self.writer.WriteStartElement(name)
self.writer.WriteString(str(text))
self.writer.WriteEndElement()

...

self.writer.Close()

我想让我的代码可以跨Python实现(CPython,IronPython和Jython).是否有流式Python XML编写器,我可以使用它而无需使用print语句,或在将其写入文件之前构造整个DOM树?

解决方法

我编写了一个名为loxun的模块来执行此操作: http://pypi.python.org/pypi/loxun/.它运行CPython 2.5和Jython 2.5,但我从未尝试使用IronPython.

用法示例:

with open("...","wb") as out:
  xml = XmlWriter(out)
  xml.addNamespace("xhtml","http://www.w3.org/1999/xhtml")
  xml.startTag("xhtml:html")
  xml.startTag("xhtml:body")
  xml.text("Hello world!")
  xml.tag("xhtml:img",{"src": "smile.png","alt": ":-)"})
  xml.endTag()
  xml.endTag()
  xml.close()

结果如下:

<?xml version="1.0" encoding="utf-8"?>
<xhtml:html xlmns:xhtml="http://www.w3.org/1999/xhtml">
  <xhtml:body>
    Hello world!
    <xhtml:img alt=":-)" src="smile.png" />
  </xhtml:body>
</xhtml:html>

除了其他功能之外,它还可以在您编写时检测未分配的标记,使用内存占用空间小的流API,支持Unicode并允许禁用漂亮的打印.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读