Как распарсить xml python?
Здравствуйте!
Ребята, подскажите, каким образом можно корректно распарить xml документ при помощи PYTHON?
Только начинаю, и не могу найти хорошего примера.
Хотелось бы разобраться на практике с комментариями.
Вот мой документ — defaultVar.xml
Host 10.64.13.131:1576 true false String 1559628965605 MaxConnections 10 true false Integer 1559628965605 SID taffy true false String 1559628965605
Может ли кто-то показать, каким образом выбирать тэги SID, HOST (а так же все их атрибуты!).
Совсем не доходит голова. Если можно, то с комментариями.
Спасибо!
- Вопрос задан более трёх лет назад
- 4060 просмотров
1 комментарий
Простой 1 комментарий
Парсинг XML-файлов скриптом. Нужно вывести нужную информацию в одну строку, каким путём это проще сделать?
спарсить быстро в формат типа:
extra_ammo=120|ammo_type=bullet_ar|bullet_chamber=1 и т. д.?
Т.е. здесь не просто значения меж открывающим и закрывающим тегом, что довольно просто спарсить, значения хранятся в value=
Буду очень благодарен.
- Вопрос задан более двух лет назад
- 552 просмотра
Комментировать
Решения вопроса 1

Сначала мы жили бедно, а потом нас обокрали..
Вы бы хоть язык написали. Если сможете установить Python и библиотеку BeautifulSoup, тогда это можно сделать на Python:
_path = 'xml/' # путь к папке с xml файлами def parse_xml(filename): with open(_path+filename) as file: xml = file.read() soup = BeautifulSoup(xml,'html.parser') params = soup.select('param') my_list = [] for x in params: my_list.append(x['name']+'='+x['value']) return '|'.join(my_list) file_list = os.listdir(_path) file = open('newfile.txt','w') for filename in file_list: file.writelines(parse_xml(filename)+'\n') file.close()
Скрипт читает все файлы из папки xml и записывает в нужном формате в файл ‘newfile.txt’:
extra_ammo=120|ammo_type=bullet_ar|bullet_chamber=1|helper_tp=weapon_term|helper_fp=weapon_term|nearmiss_signal=OnNearMiss
Как распарсить xml python
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Как парсить данные из HTML и XML в Python
Узнайте, как парсить данные из HTML и XML в Python с помощью популярных библиотек BeautifulSoup и lxml, с примерами кода!
Алексей Кодов
Автор статьи
10 июля 2023 в 17:48
Парсинг данных из HTML и XML является распространенной задачей в области Python-разработки. В этой статье мы рассмотрим основные инструменты и подходы для решения этой задачи.
BeautifulSoup
BeautifulSoup — это популярная библиотека для парсинга HTML и XML документов. Она предоставляет простой и удобный интерфейс для извлечения данных из веб-страниц.
Установка
Для установки библиотеки BeautifulSoup выполните следующую команду:
pip install beautifulsoup4
Пример использования
from bs4 import BeautifulSoup html_doc = """ <html> <head> <title>Тестовая страница</title> </head> <body> <p мир!</p> <p пример использования BeautifulSoup для парсинга HTML.</p> </body> </html> """ soup = BeautifulSoup(html_doc, 'html.parser') # Получение текста внутри тега title title = soup.title.string print(title) # Вывод: Тестовая страница # Получение текста внутри тега с классом "title" page_title = soup.find('p', class_='title').string print(page_title) # Вывод: Привет, мир!
Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

lxml
lxml — это еще одна мощная библиотека для парсинга HTML и XML документов. Она предоставляет быстрый и эффективный парсер, основанный на C-библиотеках libxml2 и libxslt.
Установка
Для установки библиотеки lxml выполните следующую команду:
pip install lxml
Пример использования
from lxml import etree xml_doc = """ <root> <element 1</element> <element 2</element> <element 3</element> </root> """ root = etree.fromstring(xml_doc) # Получение всех элементов с тегом "element" elements = root.findall('element') for element in elements: print(f': ') # Вывод: # 1: Элемент 1 # 2: Элемент 2 # 3: Элемент 3
Теперь вы знаете основные инструменты и подходы для парсинга данных из HTML и XML в Python. Не забывайте про практику, экспериментируйте и улучшайте свои навыки!