J'ai un document XML partiellement converti en soupe provenant de HTML. Après un certain remplacement et l'édition dans la soupe, le corps est essentiellement -En Python BeautifulSoup Comment déplacer les balises
<Text...></Text> # This replaces <a href..> tags but automatically creates the </Text>
<p class=norm ...</p>
<p class=norm ...</p>
<Text...></Text>
<p class=norm ...</p> and so forth.
J'ai besoin de « déplacer » les balises <p>
être des enfants à <Text>
ou savoir comment supprimer le </Text>
. Je veux -
<Text...>
<p class=norm ...</p>
<p class=norm ...</p>
</Text>
<Text...>
<p class=norm ...</p>
</Text>
J'ai essayé d'utiliser item.insert et item.append mais je pense qu'il doit y avoir une solution plus élégante.
for item in soup.findAll(['p','span']):
if item.name == 'span' and item.has_key('class') and item['class'] == 'section':
xBCV = short_2_long(item._getAttrMap().get('value',''))
if currentnode:
pass
currentnode = Tag(soup,'Text', attrs=[('TypeOf', 'Section'),... ])
item.replaceWith(currentnode) # works but creates end tag
elif item.name == 'p' and item.has_key('class') and item['class'] == 'norm':
childcdatanode = None
for ahref in item.findAll('a'):
if childcdatanode:
pass
newlink = filter_hrefs(str(ahref))
childcdatanode = Tag(soup, newlink)
ahref.replaceWith(childcdatanode)
Merci
Juste pour que vous connaissez JJ, Les balises html/xml ne s'affichent pas dans votre question à moins que vous ne les échappiez avec '' s si c'est un petit morceau dans une phrase ou que vous en fassiez des blocs de code si nécessaire. Je l'ai réparé cette fois, mais je pensais que vous devriez savoir pour l'avenir. –
Merci. Je me demandais comment cela fonctionnait. J'apprécie votre supervision et votre aide. – user3591360