如何在python中使用libxml2编写xml文件?

时间:2019-07-15 20:23:43

标签: python xml libxml2

我正在尝试使用xmlpython3中写入libxml2文件。我找不到有关python的任何有关使用libxml编写文件的相关文档。当我尝试编写经过xml解析的libxml2文件时,出现错误:

  

xmlDoc没有属性write

这里有人做过吗?我可以让它在Etree中正常工作,但是Etree不会遵守我需要的属性顺序。

2 个答案:

答案 0 :(得分:3)

您可以使用saveFile()saveFileEnc()。示例:

import libxml2

XML = """
<root a="1" b="2">XYZ</root>
"""

doc = libxml2.parseDoc(XML)

doc.saveFile("test.xml")
doc.saveFileEnc("test2.xml", "UTF-8")

我找不到关于Python API的任何好的文档。这是相应的C文档:http://xmlsoft.org/html/libxml-tree.html#xmlSaveFile

答案 1 :(得分:1)

import libxml2



DOC = """<?xml version="1.0" encoding="UTF-8"?>

<verse>

  <attribution>Christopher Okibgo</attribution>

  <line>For he was a shrub among the poplars,</line>

  <line>Needing more roots</line>

  <line>More sap to grow to sunlight,</line>

  <line>Thirsting for sunlight</line>

</verse>

"""



doc = libxml2.parseDoc(DOC)

root = doc.children

print root