#python #xml #parsing
#python #xml #синтаксический анализ
Вопрос:
Я хотел бы написать анализатор для xml, который может записывать имя и значения данных (apple, 10, …) в текстовый текст. Это формат файла:
<b>Data1 </b>: apple
<b>Data2 </b>: 10
<b>Data3 </b>: 01
<b>Data4 </b>: 1001
Это всего лишь небольшая часть файла.
Моя идея состоит в том, чтобы написать цикл for, который будет перебирать файл по строкам и проверять, имеет ли он этот формат. Если это true, сохраните имя данных и значение.
Как я могу выполнить поиск этих строк и сохранить имя и значение данных?
Спасибо
Комментарии:
1. Добро пожаловать в Stack Overflow! Не ясно, в чем проблема. Пожалуйста, не просто спрашивайте о решениях. Что вы пробовали до сих пор ?.
Ответ №1:
попробуйте использовать этот код для получения всех данных из этого xml
import re
file_content ="""<b>Data1 </b>: apple
<b>Data2 </b>: 10
<b>Data3 </b>: 01
<b>Data4 </b>: 1001"""
importent_lines = re.findall("<b>Datad *</b>: d " , a)
data_list = [re.findall("d ", line)[-1] for line in importent_lines]
вы можете удалить importent_line
, если все строки имеют одинаковый формат и все строки важны, и заменить его на file.readlines()
.
Комментарии:
1. Я немного отредактировал свой вопрос, извините. И, насколько я знаю, это: re.findall(«<b>Datad *</b>: d » , a) вернет только значения, которые являются цифрами, но у меня тоже есть слова.
2. Итак, вам нужно изменить эти строки на ‘importent_lines = re.findall(«<b> Datad *</ b>: w » , file_content) data_list = [re.findall(«w «, строка)[-1] для строки в importent_lines]’