【发布时间】:2012-08-10 03:18:30
【问题描述】:
我正在尝试使用 BeautifulSOup 解析 xml,但会导致输出不正确。
文件.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。
-
BeautifulSoup4 为我工作。谢谢@StevenRumbalski
标签: python xml beautifulsoup