Я пытаюсь проанализировать XML-документ и получить определенные теги. Я хотел бы захватить тег имени (только если это тег имени, вложенный внутри исполнителя) и тег заголовка (только если он один вложен в релиз).
Это не слишком важно, однако важно то, что я почему-то ошибаюсь, говоря, что инструкция elif является недопустимым синтаксисом
Я просмотрел другие сообщения и убедился, что мои табуляции верны и что там не являются никакими дополнительными символами новой строки после любого из if.elif дает синтаксическую ошибку python?
Это фрагмент кода:
from lxml import etree
import sys
#infile = raw_input("Please enter an XML file to parse: ")
outfile = open('results.txt', 'a')
path = []
for event, elem in etree.iterparse('releases7.xml', events=("start", "end")):
if event == 'start':
path.append(elem.tag)
elif event == 'end':
# process the tag
if elem.tag == 'name':
if 'artist' in path and not 'extraartists' in path and not 'track' in path:
outfile.write('artist = ' + elem.text.encode('utf-8') + '\n')
elif elem.tag == 'title':
if 'release' in path and not 'track' in path:
outfile.write('release title = ' + elem.text.encode('utf-8') + '\n')
else:
print 'nonrelease'
path.pop()
Это ошибка:
File "DataDestroy_Fast.py", line 18
elif elem.tag == 'title':
^
SyntaxError: invalid syntax
(Примечание: Использование python2.7 на Mac OSX)
'outfile.write ('artist =' + elem.text.encode ('utf-8') + '\ n');' << Предположим, что у него есть дополнительный ';' там? Это выпрыгивает ко мне ... – George
О, это было просто помещено туда, потому что я хотел посмотреть, не изменилось ли это. он работает одинаково с – arc
или находится в конце строки 3 фрагмента кода в конце. Существует ';' – George