Forum Webscript.Ru

Программирование => Perl => Тема начата: djkostya от 23 Марта 2006, 00:48:53

Название: XML::Simple
Отправлено: djkostya от 23 Марта 2006, 00:48:53
А как обработать пустой тэг....

нашёл SuppressEmpty => 1

Ну у меня XML формируеться так.....


1
1


Но иногда передаёться следующее

1
1



Так как проверить есть ли она или нет....
Название: XML::Simple
Отправлено: ondr от 23 Марта 2006, 03:56:21
Цитировать
djkostya:

1
1


"" он не пустой, а ошибочный
Название: XML::Simple
Отправлено: djkostya от 23 Марта 2006, 07:04:55

1
1



Ой сории вот так
Название: XML::Simple
Отправлено: cr4ck3r от 23 Марта 2006, 10:46:26
все равно не правильно.

1
1


Вот так правильно.
Название: XML::Simple
Отправлено: djkostya от 23 Марта 2006, 10:54:46
Ну вобщем у меня так.... http://web-list.ru/test1.xml
Но мне надо проверить http://web-list.ru/test.xml
Передаёться или нет она как это сделать XML::Simple
Название: XML::Simple
Отправлено: ondr от 23 Марта 2006, 13:30:07
SuppressEmpty => ""
Название: XML::Simple
Отправлено: Алан от 27 Марта 2006, 14:12:06

как уже было сказано - не правельно ! Это не по XML-ю :( - Тогда $dic = "", а иначе фигня получается...

А если надо проверить есть ли эта ошибочная конструкция, то надо бы сначала регулярным выражением проверить есть ли она.. если есть удалить/исправить и потом парсить XML::Simple.
Название: XML::Simple
Отправлено: djkostya от 27 Марта 2006, 14:18:22
Я понимаю но если вы не в курсе то принемаеться как я уже догнал об этом

Вот проверка кода XML

http://www.hcrc.ed.ac.uk/~richard/xml-check.cgi?url=http%3A%2F%2Fweb-list.ru%2Ftest.xml
Название: XML::Simple
Отправлено: djkostya от 27 Марта 2006, 14:19:13
То есть конструкция вполне может быть в коде XML и не считаеться ошибкой
Название: XML::Simple
Отправлено: Алан от 27 Марта 2006, 16:31:13
Хм... у меня Опера прочитала так:

XML checker results
The document appears to be well-formed. The canonical XML follows:
1 1

Как я вижу
Название: XML::Simple
Отправлено: djkostya от 27 Марта 2006, 16:49:52
Ну да так и должно быть но в XML чтоб не мудрить с придумали то есть это одно и тоже
Название: XML::Simple
Отправлено: Алан от 27 Марта 2006, 16:58:43
Хм... надо же... я ошибался, только что сам проверял Expat нормально парсит *удивлён...

Тогда в чём проблемма? Тег dic не попадает в хэш что-ли? или что? В чем проблемма?
Название: XML::Simple
Отправлено: Алан от 27 Марта 2006, 17:00:36
Цитировать
djkostya:
Так как проверить есть ли она или нет....


if( defined($hash->{dic}) ) { ... } - не оно?
Название: XML::Simple
Отправлено: Алан от 27 Марта 2006, 17:05:25
Вообще пример кода хотелось бы и пояснения, где не правельно работает...
Название: XML::Simple
Отправлено: vladsu от 11 Апреля 2006, 00:27:43
Чтобы проверить
print "Est\'\\n" if exists $xml->{dic};

Но если есть таг, но пустой то создасться пустой хэш, т.е. ссылка на анонимный ничем не заполненный хэш. Ну а с хэшами надеюсь работать умеете.