我打算使用BeautifulSOup解析XML,但它會導致不正確的輸出。BeautifulSoup不能正確讀取標籤
file.xml:
<?xml version="1.0" ?>
<opening name="value1" >
<element name="value1.1"/>
<element name="value1.2">
<element name="1.2.1"/>
</element>
<element name="value1.3">
<element name="value1.3.1"/>
</element>
</opening>
使用下面的代碼:
>>> a=open('file.xml').read()
>>> import BeautifulSoup
>>> s= BeautifulSoup.BeautifulSoup(a)
>>> print s.prettify()
,我得到以下輸出:
<?xml version='1.0' encoding='utf-8'?>
<opening name="value1">
<element name="value1.1">
</element>
<element name="value1.2">
</element>
<element name="1.2.1">
</element>
<element name="value1.3">
</element>
<element name="value1.3.1">
</element>
</opening>
爲什麼是顯示所有的元素作爲開放的孩子標籤 ? 如何正確解析此文件?
我試過使用 s = BeautifulSoup.BeautifulStoneSoup(a) 也,但這也沒有奏效。
我確認您的問題與BeautifulSoup3。這個問題似乎在BeautifulSoup4中得到解決。安裝BeautifulSoup4。 – 2012-08-13 21:07:07
BeautifulSoup4爲我工作。謝謝@StevenRumbalski – 2013-01-05 14:16:17