python - 使用 BeautifulSoup 更改元素值返回空元素

标签 python xml parsing beautifulsoup

from BeautifulSoup import BeautifulStoneSoup

xml_data = """
<doc>
  <test>test</test>
  <foo:bar>Hello world!</foo:bar>
</doc>
"""

soup = BeautifulStoneSoup(xml_data)
print soup.prettify()
make = soup.find('foo:bar')
print make
# prints <foo:bar>Hello world!</foo:bar>

make.contents = ['Top of the world Ma!']
print make
# prints <foo:bar></foo:bar>

如何更改元素的内容,在本例中是变量“make”中的元素,而不丢失内容?如果您能指出其他可以修改现有 xml 文档的纯 python 模块,请告诉我。

附言! BeautifulSoup 非常适合 HTML 和 XML 的屏幕抓取和解析!

最佳答案

查看 documentation on replaceWith .这有效:

make.contents[0].replaceWith('Top of the world Ma!')

关于python - 使用 BeautifulSoup 更改元素值返回空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/711376/

相关文章:

python - 如何将图形绘制到不同的子图轴

java - 为什么 XPath namespace-uri() 不能与 Java 开箱即用?

java - 将 8 个字节的小端二进制转换为 double float

python - 如何在 Google App Engine 上运行用 Python 编写的 MQTT 订阅者脚本

python - 如何在 tkinter 中通过线程打开多个框架?

python - 想法运行/调试 py.test 单个测试而不是整个套件

android - 使用Scrolling View做xml布局,如何做出时尚的xml布局设计?

android - 更新至3.5.2后,Android Studio的行为异常

c++ - 是否可以将 Antlr 的 gUnit 与 C++ 目标一起使用?

java - 固定文本文件的动态解析