2017-06-15 3 views
1

2つの段落のすべての内容を1つの段落にマージして、その間にスペースを入れたいと思います。 lxmlを使ってこれをどうすればできますか?2つの段落のHTMLコンテンツをlxmlでマージする

例:

<p>He is <b>bold</b>!</p> 
<p>Is he <u>here</u>?</p> 

がにマージされます:あなたの構造が単純な場合

<p>He is <b>bold</b>! Is he <u>here</u>?</p> 

答えて

0

、これはトリックを行う可能性があります:

import lxml 
from lxml import etree 

root = etree.fromstring("<root></root>") 
first = etree.fromstring("<p>He is <b>bold</b>!</p>") 
second = etree.fromstring("<p>Is he <u>here</u>?</p>") 
try: 
    first.getchildren()[-1].tail += ' ' + second.text 
except IndexError: 
    first.text += ' ' + second.text 
root.append(first) 
for child in second.getchildren(): 
    root.append(child) 
etree.tostring(root) 
関連する問題