지난 포스팅에서 파이썬으로 간단한 xml parsing에 대해서 작성한 적이 있어요. (http://ngee.tistory.com/308)

이번에는 또 간단하게 파이썬으로 xml 생성하는 부분에 대해서 작성해보려구요.


저는 ElementTree 라이브러리를 주로 사용함으로, 이걸 기준으로 작성합니다. 


1. ElementTree 라이브러리 설치


일단 ElementTree가 설치되어 있어야 하겠죠? 저는 pip를 이용한 설치를 추천드립니다.


혹시 pip를 설치가 되어 있지 않다면, apt-get install python-pip 로 설치하세요 (물론 root 권한에서요)


ElementTree 설치는 아래와 같아요.

root 권한에서 


pip install elementtree



2. XML 생성


ElementTree 라이브러리를 설치했으니, 모듈을 불러와야죠. 


python 소스 코드에서 여러 방법으로 모듈을 불러올 수 있지만, 저는 주로 아래와 같이 사용합니다.


#python xml library import 

from elementtree.ElementTree import Element, ElementTree, SubElement, dump, parse, tostring


여기까지는 지난 포스팅과 동일하구요 ^^


다음은 생성하는 소스코드를 보시죠.


root = Element("DataList")

SubElement(root, "data", dataType ="sample").text="text sample"


dataListFile = "/var/www/html/DataList.xml"

ElementTree(root).write(dataListFile, "utf-8")


root 변수는 xml의 최상위 Element, 즉 root를 설정하는 부분이 되겠습니다. 


SubElement를 생성해서 사용하시면 됩니다.

첫 번째 인자는, 생성할 SubElement의 상위 Element가 무엇인지 작성하는 부분입니다.

두 번째 인자는, 생성할 SubElement의 이름이 되구요.

세 번째 인자 부터는, 생성할 SubElement의 Attribute를 설정하는 부분입니다. 

    -> 위 소스에서는 Attribute 이름을 dataType으로, Attribute 값을 sample로 설정한 것이 되겠습니다.

    -> 예로 Attribute 이름을 createDate으로 하고, Attribute 값을 2014/01/05로 설정하면  SubElement(.............   createDate="2014/01/05" .....) 요런식이죠.

              

SubElement의 text 값을 넣기 위해서는 맨 뒤에 .text에 넣어주시면 되겠죠.


3. 전체 소스코드를 보시죠.


  1 #!/usr/bin/python

  2 # -*- coding:utf-8 -*-

  3 

  4 from elementtree.ElementTree import Element, ElementTree, SubElement, dump, parse, tostring

  5 

  6 root = Element("DataList")

  7 SubElement(root, "data", dataType ="sample").text="text sample"

  8 

  9 dataListFile = "/var/www/html/DataList.xml"

 10 ElementTree(root).write(dataListFile, "utf-8")






+ Recent posts