2017-01-25 8 views
0

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

Вот код:

import xml.etree.ElementTree as ET 
context = ET.iterparse('c:/Users/username/Documents/pyth/test.xml', events=('end',)) 
for event, elem in context: 
if elem.tag == 'tagName': 
title = elem.find('TaskID').text 
filename = format(title + ".xml") 
with open(filename, 'wb') as f: 
    f.write(ET.tostring(elem)) 

Я изменил линию:

context = ET.iterparse('c:/Users/username/Documents/pyth/test.xml', events=('end',)) from context = ET.iterparse('test.xml', events=('end',)) как это дает мне ошибку, когда я попытался запустить скрипт.

Я бегу это на окнах с:

C:\Python27\python.exe C:\Users\username\Documents\pyth\test.py 

Как должен выглядеть этот сценарий хотел, чтобы генерировать вывод в нескольких файлов XML?

ответ

0

Итак, похоже, что я пытаюсь запустить скрипт python неправильно, так как вы можете просто запустить его двойным щелчком. Еще одна вещь, которая была неправильной, - форматирование кода. Все работает сейчас. Код:

import xml.etree.ElementTree as ET 
context = ET.iterparse('C:\\Users\\username\\Documents\\Tasks.xml', events=('end',)) 
for event, elem in context: 
if elem.tag == 'Task': 
    title = elem.find('TaskID').text 
    filename = format(title + ".txt") 
    with open(filename, 'wb') as f: 
     f.write(ET.tostring(elem)) 
Смежные вопросы