Я написал небольшой код для синтаксического анализа XML-файла и хочу распечатать его символы, но каждый символ, кажется, вызывает символов ()
функцию обратного вызова три раза.
код :
def characters(self,chrs):
if self.flag==1:
self.outfile.write(chrs+'\n')
xml файл:
<e1>9308</e1>
<e2>865</e2>
и вывод такой, как показано ниже, много пустых строк.
9308 865
Думаю, должно понравиться:
9308 865
Почему там пробел? и я прочитал информацию о документе:
символов (self, content)
Получить уведомление о символьных данных. Парсер вызовет этот метод, чтобы сообщить о каждом фрагменте символьные данные. Анализаторы SAX могут возвращать все смежные символьные данные в одном фрагменте, или они могут разделить его на несколько фрагментов; однако все символы в одном событие должно исходить от того же внешнего объекта, чтобы Locator provides useful information.
so SAX will process one character area as several fragments? and callback several times?