Python beatifulSoup2 извлечение нескольких тегов из XML - PullRequest
0 голосов
/ 03 апреля 2020

Это мой XML:

...
<class>
<ident>value1</ident>
<ident>value2</ident>
<ident>value3</ident>
</class>
... so on (multiple class elements)

Мой python код: soup2 = bs4.BeautifulSoup (open ('new. xml', 'r'). Read (), 'l xml - xml')

soup=bs4.BeatifulSoup(open('file.xml','r').read(), 'lxml-xml')
class_obj = {}
#code here to add all class elements into class_obj ...
for i in class_obj:
       print class_obj[i].ident.string

Вывод:

value1

Он выбирает только 1 строку из первого тега и пропускает другие теги. И нужно продолжить это для вложенных тегов. Есть несколько тегов, и каждый тег имеет несколько тегов.

Справка !!!

1 Ответ

1 голос
/ 03 апреля 2020

Вы должны использовать findAll или select, который вернет вам list, который вы можете повторить.

from bs4 import BeautifulSoup


html = """
<class>
<ident>value1</ident>
<ident>value2</ident>
<ident>value3</ident>
</class>
"""

soup = BeautifulSoup(html, 'html.parser')

for item in soup.findAll("ident"):
    print(item.text)

Выход:

value1
value2
value3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...