简体   繁体   中英

How to write an xml file using libxml2 in python?

I am attempting to write an xml file in python3 using libxml2 . I cannot find any relevant documentation regarding python about writing files with libxml . When I attempt to write an xml file parsed with libxml2 I get the error:

xmlDoc has no attribute write

Anyone here done this before? I can get it to work in Etree just fine but Etree will not respect the attribute order that I need.

You can use saveFile() or saveFileEnc() . Example:

import libxml2

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

doc = libxml2.parseDoc(XML)

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

I could not find any good documentation for the Python API. Here is the corresponding C documentation: http://xmlsoft.org/html/libxml-tree.html#xmlSaveFile .

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM