| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > Perl & XML |
| Автор: korob2001 22.3.2004, 15:47 | ||||||
| Привет, всем! Недавно приобрёл книгу Perl & XML. Авторы: Джейсон Макинтош и Эрик Т.Рэй. В первой главе приводится пример работы модуля XML::Simple, попробовал его реализовать, но ничего не вышло. Вот так выглядит XML-ФАЙЛ:
А так вот выглядит Perl-скрипт:
После выполнения программы имена и фамилии должны быть в верхнем регистре, а у меня выводится следующее сообщение:
Что бы это значило? Заранее благодарен, Денис |
| Автор: ElectricalStorm 22.3.2004, 22:29 |
| мне кажется проблема в валидности самого XML |
| Автор: korob2001 23.3.2004, 01:07 | ||
Мне тоже так кажется, но с другой стороны это ведь пример из книги. Сразу же после этих листингов в книге написано: Примите наши поздравления! Вы написали программу, выполняющую обработку XML-кода, которая, ктому же, хорошо работает. |
| Автор: korob2001 23.3.2004, 01:42 | ||||
Гы, попробовал написать такой XML:
и такой Perl скрипт:
Всё заработало, на ура. Только я так и не понял почему. Если кто-то сможет пояснить причину, пожалуйста пролейте свет на такое поведение программы. Заранее спасибо. |
| Автор: ElectricalStorm 23.3.2004, 07:33 |
| что бы в вашем случае XML стал валидным надо заменить спец символы типа @ на соответствующие коды в DTD |
| Автор: korob2001 31.3.2004, 03:00 |
| Большое спасибо ElectricalStorm |
| Автор: achmed 9.4.2004, 08:28 |
| хы, в xml русские буквы, <!- Автоматически генерируется WarbleSoft Spam, версия 3.5 -> а кодировка в шапке не указана, надо типа этого <?xml version="1.0" encoding="KOI-8"?> или убрать русские буквы |
| Автор: korob2001 10.4.2004, 13:36 |
| Удаляю строку с русскими буквами, получаю следующю ошибку: mismatched tag at line 9, column 25, byte 271 at Z:/usr/site/lib/XML/Parser.pm line 168 |
| Автор: achmed 10.4.2004, 19:54 |
| кстати комментарии в xml обзначаются так: <! comment ... --> а не <! comment -> как эдесь: <!- Автоматически генерируется WarbleSoft Spam, версия 3.5 -> проверь валидность файла какойнибудь другой прогой. и вообще по уму то надо вставлять свою функцию реакции на ошибки. посмотри документацию из поставки perl, там тоже есть примеры. |