Issue
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>
How do I change the content of the element, in this case the element in the variable "make", without loosing the content? If you could point me to other pure python modules which can modify existing xml-documents, please let me know.
PS! BeautifulSoup is great for screenscraping and parsing of both HTML and XML!
Solution
Check out the documentation on replaceWith
. This works:
make.contents[0].replaceWith('Top of the world Ma!')
Answered By - Paolo Bergantino
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.