BeautifulSoup:如何在输出中包含编码?

2024-09-27 07:19:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用BeautifulSoup.BeautifulStoneSoup在XML文档中包含编码标记,但我不确定如何!在

<?xml version="1.0" encoding="UTF-8"?>
<mytag>stuff</mytag>

当我读一个已经有编码标签的文档时,它会输出它,但是我正在做一个新的汤。在

谢谢!在

编辑:我将举一个我目前正在做的事情的例子。在

^{pr2}$

即使我创建了类似soup的BeautifulStoneSoup(fromEncoding='UTF-8'),仍然没有<?xml?>标记。在

有没有另一种方法可以在不直接创建标记并将其作为字符串传递的情况下获取该标记,或者这是唯一的方法?在


Tags: 方法文档标记编辑编码version标签xml
1条回答
网友
1楼 · 发布于 2024-09-27 07:19:55

你的意思是这样吗?在

from BeautifulSoup import BeautifulStoneSoup
soup = BeautifulStoneSoup('<?xml version="1.0" encoding="UTF-8"?>')
# make some more soup

或者

^{pr2}$

从BeautifulSoupdocumentation

^{bq}$

注意,item#2,我读作:beauthoulsoup将自动使用xml声明中的编码,如果不显式地使用fromEncoding参数指定一个。基督教青年会。在

在前面引用的documentation中还有其他可能有用的与unicode相关的示例。在


编辑:@TorelTwiddler,如果有另一种方法可以使用BeautifulSoup添加xml声明,而不直接将标记作为字符串传递,我就不知道了。在

也就是说,考虑以下几点:

soup = BeautifulStoneSoup('<?xml version="1.0" encoding=""?>') # <- no encoding
mytag = Tag(soup, 'mytag')
soup.append(mytag)

print str(soup)
# "<?xml version='1.0' encoding='utf-8'?><mytag></mytag>" 
# Wha!? :)
print soup.prettify(encoding='euc-jp')
# <?xml version='1.0' encoding='euc-jp'?>
# <mytag>
# </mytag>

也许这会帮你找到你想去的地方。在

相关问题 更多 >

    热门问题