鍍金池/ 問(wèn)答/Python/ python xml.eTree.ElementTree 模塊生成xml文件縮進(jìn)

python xml.eTree.ElementTree 模塊生成xml文件縮進(jìn)問(wèn)題?

我覺(jué)得這個(gè)模塊用來(lái)構(gòu)建xml文檔很不錯(cuò),但是寫(xiě)成文件有問(wèn)題。1是會(huì)缺少xml頭部聲明,2是沒(méi)有縮進(jìn)。像minidom模塊生成的就很好。請(qǐng)問(wèn)大家怎么解決這個(gè)問(wèn)題?希望講具體點(diǎn)。

回答
編輯回答
陌南塵

xml頭部聲明是支持的,
xml.write("your_file.xml", xml_declaration=True, encoding="utf-8", method="xml")
這樣寫(xiě)就可以生成。

2018年1月14日 23:32
編輯回答
雅痞

沒(méi)有縮進(jìn),寫(xiě)入文件之前縮進(jìn)一下不就行了。
沒(méi)xml頭部,寫(xiě)入文件前加一行不就行了……

2017年10月22日 04:08
編輯回答
病癮

這個(gè)問(wèn)題我已經(jīng)解決了。就是先轉(zhuǎn)化成string,再用minidom模塊輸出成xml文檔。比如:

    xml_string = ET.tostring(Rp)
    xml_write = DOM.parseString(xml_string)
    with open(output_path, 'w') as handle:
        xml_write.writexml(handle, indent='  ', newl='\n', encoding='utf-8')

其中Rp是我構(gòu)建的xml。

2017年7月13日 20:32