加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 12:15:22 所属栏目:Python 来源:网络整理
导读:from BeautifulSoup import BeautifulStoneSoupxml_data = """doc testtest/test foo:barHello world!/foo:bar/doc"""soup = BeautifulStoneSoup(xml_data)print soup.prettify()make = soup.find('foo:bar')print make# prints foo:barHello world!/foo:bar
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模块,请告诉我.

PS! BeautifulSoup非常适合HTML和XML的屏幕分析和解析!

解决方法

查看 documentation on replaceWith.这有效:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读