2009年5月31日日曜日

ElementTreeを使ってXMLを読み込む

マッシュアップには欠かせない、XMLのパース方法です。
xml.etree.ElementTreeを使います。



import xml.etree.ElementTree as etree

    xml = """
<test>
  <name>sample name</name>
  <desc type='text'>sample desc</desc>
  <option>
    <value>value1</value>
  </option>
  <option>
    <value>value2</value>
  </option>
  <option>
    <value>value3</value>
  </option>
</test>
    """

    elem = etree.fromstring(xml)
    self.response.out.write( '<br />name=' +  elem.findtext('name') )
    self.response.out.write( '<br />desc=' + elem.findtext('desc'))
    self.response.out.write( '<br />desc=' + elem.find('desc').text)
    self.response.out.write( '<br />desc type=' + elem.find('desc').get('type') )

    for opt in elem.findall('option'):
      self.response.out.write('<br />option ' + opt.find('value').text )   


0 件のコメント:

コメントを投稿