Xpoint
   [напомнить пароль]

Преобразование XML в HTML

Метки: [без меток]
2009-06-07 21:54:37 [обр] vcsocial[досье]
Здравствуйте. Я только начинаю учить perl, и возникла проблема с обработкой xml файла.
Есть xml:
<key name="имя" type="тип">
<parametrs параметр1 = "1111" параметр2 = "2222"/>
</key>
<key name="имя2" type="тип2">
<parametrs параметр1 = "1111" параметр3 = "3333"/>
</key>
Нужно проверить правильность тегов и вывести параметры в таблицу в html. Таблица вида:
http://www.flickr.com/photos/35763563@N04/3603444162/
Я пересмотрел в рунете разные сайты по работе с xml и perl, но из всех приведенных примеров так и не понял, как же конретно мне написать скрипт, ни в одном из них не было то что мне нужно, да и я не смог бы сам переделать скрипт. Читал книгу по perl&xml, там были примеры модулей, не пойму какой-же лучше. Расскажите пожалуйста, в общих чертах как это сделать. Какой лучше взять модуль. И во всех примерах скриптов, которые я видел данные были заключены в теги типа <name>111</name>, a у меня идут ведь именно как параметры тегов, это не проблема для написания скрипта?
спустя 2 часа 9 минут [обр] AB...(10/233)[досье]

Я предпочитаю XML::DOM модуль.
Вам необходима рекурсия. Чтение значений аттрибутов не будет проблемой.
Используйте для поиска полезных советов www.google.com
Да, я бы еще порекомендовал вам использовать имена атрибутов на английском языке, так оно будет работать везде и всегда.

<key name="имя" type="тип">
  <parameters param1="1111" param2="2222" />
</key>

Я бы вообще передела для большей читабильности в данный вид:

<key name="имя" type="тип">
  <parameters>
    <parameter name="параметер1" value="1111" />
    <parameter name="параметер2" value="2222" />
  </parameters>
</key>

Но это вообщем к данной теме не относиться.

спустя 7 часов [обр] AB...(10/233)[досье]
Вы знаете, в вашей ситуации может проще всего использовать XLST если другой инной обработки данных проводить не надо кроме как перевести в XML в HTML.
спустя 1 час 33 минуты [обр] vcsocial[досье]
Cпасибо за подсказку про модуль, попробую. А XLST? Я знаю, что такое есть в PHP, и даже немного пробовал работать, а в как с этим в Perl?
спустя 17 часов [обр] AB...(10/233)[досье]
Тоже есть модуль для этого XML::XSLT. Он может не такой сильный, но многие функциональности присутствуют.
спустя 2 месяца 17 дней [обр] Юрий(0/8)[досье]
XML::LibXML и TXML::LibXSLT лучше не придумать ;)
Powered by POEM™ Engine Copyright © 2002-2005