Python에서 XML 작성 : .NET XMLTextWriter와 동등한 Python?
-
06-07-2019 - |
문제
xmltextwriter를 사용하는 Ironpython 코드가 있습니다.
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)에서 코드를 휴대용으로 만들고 싶습니다. 스트리밍 파이썬 XML 작가가 있습니까? 인쇄문을 사용하거나 파일을 작성하기 전에 전체 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>
다른 기능 중에서, 쓰기 동안 Missalligned 태그를 감지하고, 작은 메모리 풋 프린트가있는 스트리밍 API를 사용하고, 유니 코드를 지원하며, 예쁜 인쇄를 비활성화 할 수 있습니다.
다른 팁
나는 당신이 말하는 .NET 구현을 사용한 적이 없지만, 당신이 얻을 가장 가까운 것 같습니다. 색소폰 파서 (특히, xmlgenerator 클래스 - 일부 샘플 코드 여기).
제휴하지 않습니다 StackOverflow