У меня есть следующий очень простой XML-файл, и я хочу быстро разобрать элементы imsi для каждого устройства с помощью мини-диска.Python XML Processing in minidom
<device>
<imsi>01010101</imsi>
</device>
<device>
<imsi>123456</imsi>
</device>
<device>
<imsi>9876543</imsi>
</device>
--------------------------
CODE SNIPPET FOR PARSING
--------------------------
doc = xml.dom.minidom.parse("./input.xml")
for node in doc.getElementsByTagName("device"):
imsi = node.getElementsByTagName("imsi")
print str(imsi)
Когда я выполняю приведенный выше фрагмент кода, я получаю следующую ошибку в терминале. Какое улучшение, по вашему мнению, я должен внести в приведенный выше код для анализа элементов imsi для каждого устройства? Благодарю.
doc = xml.dom.minidom.parse("./input.xml")
File "/usr/lib/python2.6/site-packages/_xmlplus/dom/minidom.py", line 1915, in parse
return expatbuilder.parse(file)
File "/usr/lib/python2.6/site-packages/_xmlplus/dom/expatbuilder.py", line 926, in parse
result = builder.parseFile(fp)
File "/usr/lib/python2.6/site-packages/_xmlplus/dom/expatbuilder.py", line 207, in parseFile
parser.Parse(buffer, 0)
xml.parsers.expat.ExpatError: junk after document element: line 4, column 0
После того как я представил корневой узел, я написал следующий код, в результате которого появился странный вывод. Как вы думаете, что здесь неправильно?
doc = xml.dom.minidom.parse("./input.xml")
for node in doc.getElementsByTagName("device"):
imsi = node.getElementsByTagName("imsi")
print str(imsi)
[<DOM Element: imsi at 0x828636c>]
[<DOM Element: imsi at 0x82864ac>]
[<DOM Element: imsi at 0x828660c>]
После кода решить мою проблему и oprinted элементы IMSI правильно:
for node in doc.getElementsByTagName("device"):
imsi = node.getElementsByTagName("imsi")
for a in imsi:
Title= a.firstChild.data
print Title
Пожалуйста, см. Мой выше комментарий в вопросительном коде не выглядит красивым в разделе добавления комментариев. Thanx. –