Почему я получаю сообщение об ошибке «элемент … не обработан» при синтаксическом анализе KML с помощью Geo::KML?

#xml #perl #kml

#xml #perl #kml

Вопрос:

 use Geo::KML;
my $data = Geo::KML->readKML("test1.kml");

use Data::Dumper;

$Data::Dumper::Indent = 1;
print Dumper $data;
  

Я использую этот код, и test1.kml файл доступен с http://pastebin.com/LbzwLYLc. Я получаю эту ошибку:

 error: element `{http://www.opengis.net/kml/2.2}Document' not processed at {http://www.opengis.net/kml/2.2}kml
  

Комментарии:

1. Для других пользователей было бы здорово, если бы исходный постер мог объяснить, верен ли приведенный ниже ответ @Dabhaid, или исходный постер просто забыл заполнить полный XML при вставке.

Ответ №1:

Если pastebin — это полное содержимое того, что вы анализируете, это может быть потому, что у вас отсутствуют закрывающие </Folder> и </kml> теги. Это может соответствовать сообщению об ошибке (хотя я ожидал бы, что оно относится к папке) — тогда элемент документа / папки в разделе не обрабатывается (потому что он не закрыт).