[python] 문자열 소스의 Python XML ElementTree?

ElementTree.parse는 파일에서 읽습니다. XML 데이터가 이미 문자열에있는 경우 어떻게 사용할 수 있습니까?

여기에 뭔가 빠졌을 수도 있지만 문자열을 파일에 쓰고 다시 읽지 않고 ElementTree를 사용할 수있는 방법이 있어야합니다.

xml.etree.elementtree



답변

를 사용하여 xml.etree.ElementTree.parse파일에서 xml.etree.ElementTree.fromstring구문 분석하는 경우을 사용 하여 텍스트에서 구문 분석 할 수 있습니다 .

xml.etree.ElementTree를 참조하십시오 .


답변

텍스트를 문자열로 구문 분석하여 요소를 만들고 해당 요소를 사용하여 ElementTree를 만들 수 있습니다.

import xml.etree.ElementTree as ET
tree = ET.ElementTree(ET.fromstring(xmlstring))

방금이 문제를 보았고 설명서는 완료되었지만 parse()fromstring()메서드 간의 사용법 차이에 대해 매우 간단하지 않습니다 .


답변

당신은 xml.etree.ElementTree.fromstring(text)

from xml.etree.ElementTree import XML, fromstring
myxml = fromstring(text)


답변

io.StringIO 는 XML을 xml.etree.ElementTree 로 가져 오는 또 다른 옵션입니다 .

import io
f = io.StringIO(xmlstring)
tree = ET.parse(f)
root = tree.getroot()

Hovever, XML 선언에 영향을 미치지 않습니다 tree( ElementTree.write ()에 필요하지만 ). xml.etree.ElementTree를 사용하여 XML 선언을 작성하는 방법을 참조하십시오 .


답변