Как получить текст из комментария 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