Спасибо за понимание проблемы и попытки помочь, вы этим вдыхаете жизнь в бездыханный комочек)) только вот проблема в том, что с xml-документами я работаю не первый день и подобного рода ошибки решаю на раз, потому что знаю причину их возникновения, но в этот раз, все как-будто сговорилось против меня, есть атрибут, но он его не хочет видеть:
вот кусочек xml-документа:
представляю Вашему вниманию код xml-документа:
<?xml version="1.0" encoding="utf-8"?>
<библиотека>
<читатели>
<читатель адрес="Саратов" имя="Юрий" кодчитателя="1" отчество="Николаевич" телефон="12-52-63" фамилия="Кукарев"/>
</читатели>
<авторы>
<автор ФИО="Пупкин Я.Я." кодавтора="1">
<книга жанр="научная литература" залоговаястоимость="10" кодкниги="1" название="Экономика" стоимостьпроката="5">
<выдачакниги датавозврата="21.12.2003" датавыдачи="12.12.2001" кодчитателя="Кукарев Юрий Николаевич"/>
<выдачакниги датавозврата="13.01.2007" датавыдачи="12.01.2007" кодчитателя="Лавров Олег Никифорович"/>
</книга>
</автор>
</авторы>
</библиотека>
а вот и загрузка данныз из него же:
def load():
class Handler(xml.sax.handler.ContentHandler):
def __init__(self):
xml.sax.handler.ContentHandler.__init__(self)
self.avtor = None
self.kniga = None
def startElement(self, name, attr):
if name == u'читатель':
...(лишнее опустим)
elif name == u'выдачакниги':
self.knigavidana = biblioteka.knigavidana(self.kniga,
biblioteka.chitateli,
attr.getValue(u'датавыдачи').encode('utf-8'),
attr.getValue(u'датавозврата').encode('utf-8')
)
biblioteka.knigavidanay.append(self.knigavidana)
def endElement(self, name):
pass
parser = xml.sax.make_parser()
parser.setContentHandler(Handler())
parser.parse(os.path.join(os.getcwd(), "test1.xml"))
if __name__ == '__main__':
load()
ошибка следующая:
File "test1.py", line 78, in <module>
save()
File "test1.py", line 15, in save
loadtest1.load()
File "/home/cvetlana/biblioteka/loadtest1.py", line 61, in load
parser.parse(os.path.join(os.getcwd(), "test1.xml"))
File "/usr/lib64/python2.5/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.5/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.5/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.5/xml/sax/expatreader.py", line 301, in start_element
self._cont_handler.startElement(name, AttributesImpl(attrs))
File "/home/cvetlana/biblioteka/loadtest1.py", line 49, in startElement
biblioteka.chitateli,
KeyError: u'\u041a\u0443\u043a\u0430\u0440\u0435\u0432 \u042e\u0440\u0438\u0439 \u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432\u0438\u0447'