Как получить текст из комментария xml при помощи python

Есть xml файл. В конце этого файла есть комментарий <!--ND=10000000/010124/0000000--> Можно ли получить текст из этого комментария при помощи python? В частности нужно получить значение 10000000/010124/0000000.


Ответы (2 шт):

Автор решения: Alexey
import re

xml_text = "<!--ND=10000000/010124/0000000-->"

pattern = r"<!--(.*?)-->"

comments = re.findall(pattern, xml_text, re.DOTALL)

for comment in comments:
    print(comment.strip())

print() выводит построчно элементы массива comments. Предварительно убираются пробелы в начале и конце via strip().

UPD print() выводит строку "ND=10000000/010124/0000000"

→ Ссылка
Автор решения: Tolomika

Мне очень приглянулся bs4 для работы с xml.

Вот мое решение проблемы с получением текста комментария:


from bs4 import BeautifulSoup as BS, Comment

xml_text = "<!--ND=10000000/010124/0000000-->"
soup = BS(xml_text, 'lxml-xml')
comments = soup.find_all(string=lambda text: isinstance(text, Comment))

Так можно получить все комментарии в тексте. Рекомендую почитать документацию https://www.crummy.com/software/BeautifulSoup/bs4/doc/#find-all

→ Ссылка