User Tools

Site Tools


xml_parsing

This is an old revision of the document!


<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Naver Open API - endic ::'media'</title><link>http://search.naver.com</link><description>Naver Search Result</description><lastBuildDate>Fri, 31 Jul 2009 11:17:34 +0900</lastBuildDate><total>24</total><start>1</start><display>5</display><item><title>media&lt;SUP&gt;1&lt;/SUP&gt;</title><link>http://openapi.naver.com/l?AAACupLEi1Tc1LyUxWK81MsTUxMzK1UCssTS2qtM1NTclMVMsoSk2zzSgpKVA1dlQ1cgMisGq9vMSy1CK95PxcVBFVY7eU/OTMFFVjF3MDcwtjAwBNvkKqYQAAAA==</link></item><item><title>media&lt;SUP&gt;2&lt;/SUP&gt;</title><link>http://openapi.naver.com/l?AAACupLEi1Tc1LyUxWK81MsTUxMzK1UCssTS2qtM1NTclMVMsoSk2zzSgpKVA1dlQ1cgMisGq9vMSy1CK95PxcVBFVY7eU/OTMFFVjF3MDcwsTAwCKKAPlYQAAAA==</link></item><item><title>Media</title><link>http://openapi.naver.com/l?AAACupLEi1Tc1LyUxWK81MsTUxMzK1UCssTS2qtM1NTclMVMsoSk2zzSgpKVA1dlQ1cgMisGq9vMSy1CK95PxcVBFVY7eU/OTMFFVjF3MDcwtTAwDLGRj8YQAAAA==</link></item><item><title>medium</title><link>http://openapi.naver.com/l?AAACupLEi1Tc1LyUxWK81MsTUxMzK1UCssTS2qtM1NTclMVMsoSk2zzSgpKVA1dlQ1cgMisGq9vMSy1CK95PxcVBFVY7eU/OTMFFVjF3MDCwsDAwDY/QzZYQAAAA==</link></item><item><title>aero-otitis media</title><link>http://openapi.naver.com/l?AAACupLEi1Tc1LyUxWK81MsTUxMzK1UCssTS2qtM1NTclMVMsoSk2zzSgpKVA1dlQ1cgMisGq9vMSy1CK95PxcVBFVY7eU/OTMFFVjF0NLQ2MDAJEsoMtgAAAA</link></item></channel></rss>
<?xml version="1.0" encoding="UTF-8"?>
<error xmlns="naver:openapi"> 전송된 요청을 수행하는 동안 다음과 같은 에러가 발생하였습니다.
	<error_code>020</error_code>
	<message>Unregistered key (등록되지 않은 키입니다.)</message>
</error>

ElementTree

import xml.etree.ElementTree as ET
...
ndicResult = ET.XML(xml_source_string)
#find error
if ndicResult.tag == '{naver:openapi}error':
    print ndicResult.text
    print "%s: %s"%(ndicResult.find('{naver:openapi}error_code').text, ndicResult.find('{naver:openapi}message').text)
elif ndicResult.tag == 'rss':
#find channel
    ndicChann = ndicResult[0] #ndicResult.find('channel')
    ndicItems = (i for i in ndicChann if i.tag=="item")
    ndicLinks = map(lambda x: x.find('link').text, ndicItems)
xml_parsing.1249014116.txt.gz · Last modified: 2013/08/03 05:04 (external edit)