我想在使用BeautifulSoup.BeautifulStoneSoup
的XML文档中包含编码标签,但我不知道该怎么做!BeautifulSoup:如何在输出中包含编码?
<?xml version="1.0" encoding="UTF-8"?>
<mytag>stuff</mytag>
它在输出编码标签,当我阅读已经有它的文档,但我正在做一个新的汤。
谢谢!
编辑:我将举一个我目前正在做的事情的例子。
from BeautifulSoup import BeautifulStoneSoup, Tag
soup = BeautifulStoneSoup()
mytag = Tag(soup, 'mytag')
soup.append(mytag)
str(soup)
# '<mytag></mytag>'
soup.prettify() # No encoding given
# '<mytag>\n</mytag>'
soup.prettify(encoding='UTF-8')
# '<mytag>\n</mytag>' # Where's the encoding?
即使我创建汤像BeautifulStoneSoup(fromEncoding='UTF-8')
,但仍然没有<?xml?>
标签。
是否有另一种方式来获得该标签没有创建并直接将标签作为字符串传递,或者是唯一的方法?
美丽的汤不是一个XML *生成器*。美化方法只是为了方便。为什么不直接使用lxml? – zwol
@Zack:部分原因是因为我执行的几乎所有XML用法都是解析,所以BeautifulSoup听起来像是一个好主意;部分原因是所有的建筑方法已经被设置为与BeautifulSoup一起使用,所以重写它们听起来不太吸引人。但我一定会记得下次尝试lxml。 – TorelTwiddler