Data on Web with XML(and schema) [Chapter 13]

2021. 2. 26. 14:38언어영역/Python

데이터 보내기

우리가 갖고있는 파일을 외부에 보낼 때, 우리는 파이썬이 아닌 (예를 들면 Java) 환경에서 작동하도록 해야 한다. 때문에 우리가 인터넷에 파일을 올릴 땐 Serialize(직렬화)를 거치고, 이후에 받는 컴퓨터에서 De-Serialize를 거쳐 파일을 읽는다. 이들을 가능하게 해 주는 두 가지 방식이 있는데, 바로 XML과 JSON이다. 

XML(eXtensible Markup Language)

HTML과 비슷한 형태로 이뤄진다. <a><b>Chuck</b></a>

Chuck : Simple Element, a,b : Complex Elements

XML은 Indent가 중요하지 않다. (보기 예쁘게 해놓은 것 뿐)

Start Tag와 End Tag 사이에 아무 정보도 없을 경우 : <email></email> == <email />

Attribute도 Child Element로 인정한다.

XML as Paths : a 안의 b 안의 Chuck으로 찾아가는 방법은 /a/b

XML Schema

Who's Fault is it? 

XML을 포함한 데이터 교환 과정에서 문제가 발생했을 때 어떤 과정에서 문제가 발생했는지 찾을 수 있는 XML 포맷이다.

Actually the XSD is XML itself. Its purpose is to validate the structure of another XML document. The XSD is not mandatory for any XML, but it assures that the XML could be used for some particular purposes. The XML is only containing data in suitable format and structure.

 

Parsing XML

Python에서 XML파일을 파싱하는 방법이다.

#data = ''' XML파일 '''
import xml.etree.ElementTree as ET

tree = ET.fromstring(data)
#네임 태그에 속한 이름 text파일을 가져온다.
print('Name:', tree.find('name').text)

#Email 태그의 hide Attribute를 가져온다.
print('Attr:', tree.find('email').get('hide'))

 

'언어영역 > Python' 카테고리의 다른 글

JavaScript Object Notation (JSON) [Chapter 13.5]  (0) 2021.02.26
PY4E Assignment 13  (0) 2021.02.26
URLlib [Chapter 12]  (0) 2021.02.25
Networked Technology [Chapter 11]  (0) 2021.02.24
Tuples [Chapter 10]  (0) 2021.02.24