MyXML – генератор XML
На днях озадачился небходимостью сгенерировать небольшой XML документ средствами Perl, но лезть в дебри CPAN, в поисках подходящих модулей стало лень. С другой стороны, обходиться банальным «print» тоже не хотелось, так как время от времени генерировать XML просто необходимо. Посему открыл текстовый редактор и начал ваять, а точнее доводить до ума некогда начатый, но так и не дописанный pakage, позволяющий генерировать простой XML. Не на что выдающееся я естественно претендовать не собираюсь, но показать что в итоге получилось почему то захотелось.
Итак, сам pakage можно скачать тут, а вот простой пример того, что с ним можно делать:
#!/usr/bin/perl
use strict;
use base::MyXML;
our $top = MyXML->GXM(«1.0″,»utf-8″)->{«header»};
our $tag = MyXML->GXD(
«content»,
join(»,
MyXML->GXDM(«elem»,['type=app','name="Console"'],)->{«result»},
MyXML->GXDM(«elem»,['type=app','name="Editor"'],)->{«result»},
MyXML->GXDM(«elem»,['type=app','name="Player"'],)->{«result»},
),
['name="Soft"'],
)->{«result»}
open(FH,»>data.xml»);
print (FH $top.»n»);
print (FH $tag.»n»);
close(FH);
в итоге получился такой вот документ:
<?xml version=»1.0″ encoding=»utf-8″?>
<content name=»Soft»>
<elem type=»app» name=»Console» id=»1.1″ />
<elem type=»app» name=»Editor» id=»1.2″ />
<elem type=»app» name=»Player» id=»1.3″ />
</content>
На последок все же пару слов о MyXML. В распоряжении разработчика предоставляются 3 метода (пока 3
, а именно GXM(формирующий заголовок документа), GXD(формирующий открывающий, закрывающий теги, атрибуты по необходимости, и собственно, то, что между тегами заключено) и GXDM(формирующий «пустой тег» с атрибутами по необходимости).
Вы можете отслеживать комментарии к этой записи с помощью RSS 2.0. Вы можете оставить комментарий, или использовать trackback с вашего сайта.
friendfeed