Beautifulsoup добавить / вставить html тег в документ xml - PullRequest
0 голосов
/ 14 января 2020

Я хочу добавить строку с тегом HTML с помощью Beautifulsoup.

Ввод:

<tr>
    <td>Hi </td>
    <td>Hello</td>
    <td>World</td>
</tr>

Вывод: Я хочу добавить 4-ю строку, которая называется Доброе утро, в отдельном теге

<tr>
    <td>Hi </td>
    <td>Hello</td>
<!--<td>World</br>Good Morning</td> -->
    <td></br>Good Morning</td> 

</tr>

Я сделал комментарий, используя функцию replacewith, теперь я застрял с добавлением новой строки. пожалуйста, помогите мне в этом.

1 Ответ

1 голос
/ 14 января 2020

Сначала найдите элемент, а затем next_element, который является текстом, а затем замените его своим текстом.

from bs4 import BeautifulSoup

html='''<tr>
    <td>Hi </td>
    <td>Hello</td>
    <td>World</td>
</tr>'''

soup=BeautifulSoup(html,'html.parser')
soup.find('td',text='World').next_element.replace_with("</br>Good Morning")
print(soup.prettify(formatter=None))

Вывод :

<tr>
 <td>
  Hi
 </td>
 <td>
  Hello
 </td>
 <td>
  </br>Good Morning
 </td>
</tr>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...