2016-09-15 2 views
0

Итак, я пытаюсь обработать XML-файл на python.Чтение XML на python 2.1

Я использую minidom, поскольку я нахожусь в python 2.1, и нет изменений в обновлении до 3.6. В настоящее время, у меня есть этот

import xml.dom.minidom as minidom 
import socket 
print 'Getting the xml file' 
# Get the xml contents 
file = open('<filepath>') 
#print file 
# Get the root of the configuration file 
print 'Parsing the xml' 
procs = minidom.parse(file) 

Но я получаю эту ошибку

Error getting

Любая идея? Или, еще лучше, еще один способ для разбора XML без меня, чтобы написать свой собственный парсер ...

+0

Вы уверены, что 2,1 это правильный вариант? –

+1

Является ли обновление до 2,7 опциона? –

+0

Можете ли вы установить сторонние модули? Было бы интересно посмотреть на совместимость со старыми версиями lxml ... –

ответ

1

Итак, я был в состоянии получить эту работу

Для начала, после того, как пытался убедить либо обновить или установить плагин, я получил уведомление о том, что все скрипты python запускаются на jython, что означает, что у меня есть несколько java-библиотек (хотелось бы, чтобы они сказали мне об этом раньше)

Итак, после некоторого исследования обработки xml на jython, я выяснил, что с использованием Xerces и xas был ключ

Это код, который я наконец-то использовать, если какой-либо один хотел бы знать

from java.io import StringReader 

import org.xml.sax as sax 
import org.apache.xerces.parsers.DOMParser as domparser 

parser = domparser() 
document = open('<path to file>').read() 
parser.reset() 
documentIS = sax.InputSource(StringReader(document)) 
parser.parse(documentIS) 
domtree = parser.getDocument() 
results = domtree.getElementsByTagName('<tag name>') 
for ix in range(results.getLength()): 
    item = results.item(ix).getAttribute("<attribute name>") 

Надежда кто-то считает, что это полезно,

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