Найти - Пользователи
Полная версия: parser xml
Начало » Центр помощи » parser xml
1
protect13
Доброго времени суток. Сам я начинающий программист и порой не получается что либо сделать.
Сразу к делу.
Не получается справиться с задачей , суть такова
Имеется xml. файл его нужно пропарсить а именно
1. Разобрать файл при помощи elementTree
2. Построить дерево тегов, получить из каждого тега все его параметры
3. Вывод - в консоль
4. Код откомментировать
5. Разбить всё на функции

Из всего этого не получается “получить из каждого тега все его параметры”.

А вот что имеется.

# импортируем ElementTree
import xml.etree.ElementTree as xmlparser
# создаем переменную source передаем в неё “extMap.xml”
source = ‘extMap.xml’;
#читаем extMap,xml с помощью созданной функции
def xml_reader(source):
try:
doc = xmlparser.parse(source);
# исключение если файл не найден
except FileNotFoundError:
print('File not found at: ‘ + source)
exit(0)

return doc

# добавляем отступы
def padding(length):
return (’. ‘ * (length -1)) + ’|—'

# пробуем произвести вывод дерева
def print_xml_tags(doc,level = 0):
if level == 0:
print(doc.tag)
else:
print(padding(level) + doc.tag)

for node in doc:
print_xml_tags(node, level + 1)

doc = xml_reader(source)
print_xml_tags(doc.getroot())
noob_saibot
Немного подравнял:
import xml.etree.ElementTree as xmlparser
source = "D:/extMap.xml"
def xml_reader(source):
    try:
        doc = xmlparser.parse(source)
    except:
        print("File not found at: " + source)
        exit(0)
    return doc
def print_xml_tags(doc,level = 0):
    if level == 0:
        print doc.tag,doc.attrib
    else:
        print level*"|-"+doc.tag,doc.attrib
    for node in doc:
        print_xml_tags(node, level + 1)
doc = xml_reader(source)
print_xml_tags(doc.getroot())
doc.attrib выдаст атрибуты тега.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB