我打算使用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