ElementTree.parse는 파일에서 읽습니다. XML 데이터가 이미 문자열에있는 경우 어떻게 사용할 수 있습니까?
여기에 뭔가 빠졌을 수도 있지만 문자열을 파일에 쓰고 다시 읽지 않고 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 선언을 작성하는 방법을 참조하십시오 .