오늘은 Python 에서 ElementTree 모듈을 활용하여 원하는 XML 을 만드는 것을 포스팅해보겠습니다.
[ XML Element를 사용할 때 만드는 API ]
- register_namespace(등록할 Namespace 명, Namespace 주소)
- Element(만들 Element 이름 및 Namespace)
- SubElement(부모 Element, 만들 Element 이름 및 Namespace)
- attrib : Element에 attribute 추가하기
- text : Element 에 String 추가
- tostring(Element, encoding 및 옵션..) : Element 를 string 으로 변환
from xml.etree import ElementTree as ET
NS_root = 'https://yys630.tistory.com/'
NS_data = 'https://yys630.tistory.com/data'
ET.register_namespace('root', NS_root)
ET.register_namespace('dt', NS_data)
Root = ET.Element('{%s}Root' % NS_root)
Data = ET.SubElement(Root, '{%s}Data' % NS_data)
Data.attrib['Young'] = 'Rich'
Subdata = ET.SubElement(Data, '{%s}Subdata' % NS_data)
Subdata.text = 'Always Happy'
xml_string = ET.tostring(Root, encoding='utf-8', method='xml')
print(xml_string.decode('utf-8'))
xml.etree 의 Element 사용법을 정리하였습니다.
- find(찾고자 하는 Element Name 및 Namespace) 함수도 종종 사용합니다.
f_Subdata = find('{%s}Subdata' % NS_data)
find 함수는 만든 Element 변수에서 찾는 Element 를 반환해줍니다.
일반적으로 Recv한 XML Parsing 하는 것을 보통 Client 단에서 하고,
Server 단에서는 필요한 XML 형태의 String 을 제공해줍니다.
위의 예제 및 API 는 Server 단에서 주로 사용하는 ElementTree API 들입니다.
python socket send, recv, http(GET, POST), multipart/mixed data (2) | 2020.06.03 |
---|---|
python datetime to utc timestamp (2) | 2020.04.16 |
python datetime to OLE Automation date (0) | 2020.04.16 |
python HTTP, GET, POST, REST API (0) | 2020.03.24 |
파이썬 딕셔너리 json, python dictionary json 만들기, python json, json string (0) | 2020.02.26 |