을 사용하여 xml 태그와 루프 값을 추출한 다음 사전에 저장합니다.XML에서 다른 형식의 데이터를 파이썬으로 사전에로드하기
XML 파일이 포함되어
<root>
<tag1>['item1', 'item2']</tag1>
<tag2>a normal string</tag2>
</root>
파이썬 코드 (약) :
import xml.etree.cElementTree as xml
xmldata = {}
xmlfile = xml.parse(XMLFile.xml)
for xmltag in xmlfile.iter():
xmldata[xmltag.tag] = xmltag.text
내가 발생했습니다 문제는 xml 파일이 string
및 list
을 포함 다른 데이터 유형이 포함되어 있다는 것입니다. 불행히도 Element.text
은 모든 xml 값을 string
(목록 포함)으로 저장합니다. 나는 XML 파일에서로드 할 때
그래서 내가 가진 :
{'tag1':"['item1', 'item2']", 'tag2':'a normal string'}
내가 선호 줄 때 이렇게하는 쉬운 방법이
{'tag1':['item1', 'item2'], 'tag2':'a normal string'}
있습니까?
예컨대 원래의 형식으로 사전에 저장하는 명령
아니면이 별도로 Element.text
에 대한 대안을 사용하여 문이 값 유형을 결정하는 경우 설정하고 저장해야합니까?
문제를 재현 할 수 있도록 xmldata 값을 포함한 전체 코드 스 니펫을 포함시킬 수 있습니까? –
@DavidRobinson 업데이트했습니다. – user788462
XML에서 문자열이'''로 둘러싸여 있지 않다는 것을 제외하면'eval'을 사용할 수있었습니다. –