문제

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 클래스 - 일부 샘플 코드 여기).

Python에서 XML 생성을 용이하게하는 도구를 썼습니다 (암호 그리고 지도 시간)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top