<p>您可以使用<a href="http://www.crummy.com/software/BeautifulSoup/documentation.html#Parsing%20XML" rel="noreferrer">BeautifulSoup</a>来分析XML:</p>
<pre><code>import bs4 as bs
content='''\
<item>
<title><![CDATA[Title Sample]]></title>
<link /><![CDATA[http://banhada.kr/?cateCode=09&viewCode=S0941580]]>
<time_start>2011-10-10 09:00:00</time_start>
<time_end>2011-10-17 09:00:00</time_end>
<price_original>35000</price_original>
<price_now>20000</price_now>
</item>'''
soup = bs.BeautifulSoup(content, 'xml')
title = soup.title
print(title.string)
# Title Sample
link = soup.link.nextSibling
print(link)
# http://banhada.kr/?cateCode=09&viewCode=S0941580
</code></pre>
<p>在幕后,BeautifulSoup使用<a href="http://codespeak.net/lxml/" rel="noreferrer">lxml</a>来解析XML。
虽然这里不需要,但您可能希望直接使用lxml,因为它提供了使用XPath在XML中导航的更简洁的方法:</p>
<pre><code>import lxml.etree as ET
content='''\
<item>
<title><![CDATA[Title Sample]]></title>
<link /><![CDATA[http://banhada.kr/?cateCode=09&viewCode=S0941580]]>
<time_start>2011-10-10 09:00:00</time_start>
<time_end>2011-10-17 09:00:00</time_end>
<price_original>35000</price_original>
<price_now>20000</price_now>
</item>'''
doc = ET.fromstring(content)
title = doc.find('title')
print(title.text)
# Title Sample
link = doc.find('link')
print(link.tail)
# http://banhada.kr/?cateCode=09&viewCode=S0941580
</code></pre>