作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
类似下面的情况。
XML 文件:
<tag1/>
<tag2>some_data</tag2>
<tag1>some_another_data</tag1>
tag1 有时是自动关闭的,有时内部有数据。
代码:
from BeautifulSoup import BeautifulStoneSoup
s = '<tag1/><tag2>some_data</tag2><tag1>some_another_data</tag1>'
soup1 = BeautifulStoneSoup(s)
soup2 = BeautifulStoneSoup(s, selfClosingTags=["tag1"])
print soup1.prettify()
print
print soup2.prettify()
输出:
<tag1>
<tag2>
some_data
</tag2>
</tag1>
<tag1>
some_another_data
</tag1>
<tag1 />
<tag2>
some_data
</tag2>
<tag1 />
some_another_data
在第一种情况下,tag1 会吃掉后面的标签(如果它又不是 tag1),因为默认情况下不支持自关闭标签。在第二种情况下,自关闭标签不支持子标签。
我只想获取原始 xml 文档的结构。 BeautifulSoup 可以吗?如果可能的话,如何让所有标签默认自动关闭? xml 文件很多,我不想手动搜索所有此类情况。
最佳答案
我不推荐 BeautifulSoup (甚至不推荐 HTML 解析)。使用标准库中的 ElementTree,或 lxml ,如果您需要更强大的 XML 库。
关于python - 当某些标签自闭且不同时时,BeautifulSoup可以解析xml吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4844827/
我是一名优秀的程序员,十分优秀!