2016-08-19 3 views
1

나는 파이썬에서 XML 파일을 생성하려고 시도하지만 출력을 들여 쓰지 않는 것은 직선으로 이루어집니다. 적절한 들여 쓰기로 XML 파일 생성하기

from xml.etree.ElementTree import Element, SubElement, Comment, tostring 

name = str(request.POST.get('name')) 
top = Element('scenario') 
environment = SubElement(top, 'environment')   
cluster = SubElement(top, 'cluster') 
cluster.text=name 

나는 꽤 파서하지만 그것으로 나에게 오류를 제공을 사용하려고 : '요소'개체가

import xml.dom.minidom 

xml_p = xml.dom.minidom.parse(top) 
pretty_xml = xml_p.toprettyxml() 

파서에게 주어진 입력되어 적절한 형식 아니 속성이없는 '읽기'? 이것이 잘못된 방법이라면 다른 방법으로 들여 쓰기를 제안하십시오. (. 현재 사용하지 않는 당신이 tostring를 가져올해야하는 이유입니다)

답변

1

직접 당신이 문자열 있는지 확인해야 Element()top을 분석, 그 결과에 xml.dom.minidom.parseString()을 사용할 수 없습니다

import xml.dom.minidom 

xml_p = xml.dom.minidom.parseString(tostring(top)) 
pretty_xml = xml_p.toprettyxml() 
print(pretty_xml) 

그 결과 :

<?xml version="1.0" ?> 
<scenario> 
    <environment/> 
    <cluster>xyz</cluster> 
</scenario> 
+0

고마워요! 그것은 일했다 .. –

관련 문제