以前我問過this的問題,並找回了這個BeautifulSoup示例代碼,經過一些本地諮詢後,我決定與之合作。在美麗的湯中使用replaceWith時動態指定標籤
>>> from BeautifulSoup import BeautifulStoneSoup
>>> html = """
... <config>
... <links>
... <link name="Link1" id="1">
... <encapsulation>
... <mode>ipsec</mode>
... </encapsulation>
... </link>
... <link name="Link2" id="2">
... <encapsulation>
... <mode>udp</mode>
... </encapsulation>
... </link>
... </links>
... </config>
... """
>>> soup = BeautifulStoneSoup(html)
>>> soup.find('link', id=1)
<link name="Link1" id="1">
<encapsulation>
<mode>ipsec</mode>
</encapsulation>
</link>
>>> soup.find('link', id=1).mode.contents[0].replaceWith('whatever')
>>> soup.find('link', id=1)
<link name="Link1" id="1">
<encapsulation>
<mode>whatever</mode>
</encapsulation>
</link>
與此唯一的問題是,例如具有硬編碼的標記值(在這種情況下「模式」),並且我需要能夠指定「鏈接」的標籤中指定的任何標籤。簡單的變量替換似乎不起作用。
謝謝。這樣可行。 – 2009-05-21 05:17:21