2015-05-09 3 views
0

Я только что начал использовать python (3.x +) и пытаюсь выяснить, как извлечь все элементы из файла XML, включая все дочерние узлы (так великие дети и великие дети узлы) без проверки после извлечения каждого ребенка.Итерирование всех элементов xml python

Я не могу жестко закодировать, так как файл xml может измениться. Я просто хотел бы извлечь элемент, его родительский элемент и если у него есть дети.

+2

Можете ли вы предоставить код? Также см. Этот [учебник] (http://lxml.de/tutorial.html) для аналогичного модуля lxml. – ferkulat

ответ

0

Вы пробовали использовать модуль Feedparser и записываете итеративный цикл цикла, который может развернуться в узлах вашего XML, которые вы хотите извлечь?

Например, вы могли бы сделать что-то вроде этого:

import feedparser 
d = feedparser.parse(r'c:\incoming\atom10.xml') #this is your locally hosted XML file 

for index, post in enumerate(d.entries): 
    if index >= 5: 
     break 
    print(post.title) #replace 'title' with the name of the node you want in your XML file, etc 
    print(post.summary) 
    print(post.media_keywords) 

Вы будете играть со сценарием немного в зависимости от того, что вы хотите извлечь в файл XML. Для получения более подробной информации проверьте documentation.

Смежные вопросы