Auparavant, j'ai demandé this question et j'ai récupéré ce code exemple BeautifulSoup, qui, après une consultation locale, j'ai décidé d'aller avec.Spécification dynamique des étiquettes lors de l'utilisation de replaceWith dans Beautiful Soup
>>> 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>
Le seul problème avec cela est que l'exemple a une valeur d'étiquette hardcoded (dans ce cas, « mode »), et je dois être en mesure de spécifier une balise dans le spécifié balise « lien ». La substitution de variable simple ne semble pas fonctionner.
Merci. Ça marche. –