| |||||||||||||||||||||
Ключевые слова: xml, perl, (найти похожие документы)
Date: Mon, 09 Dec 2002 18:15:45 +0500 From: Andrey Sapozhnikov <sapa@icb.chel.su> Newsgroups: ftn.ru.cgi.perl Subject: Разбор XML в perl скриптах > Hе могу врубиться как разбирать XML > Hарод рекомендовал юзать XML::LibXML > Мне надо Разобрать ваш XML и засунуть его в базу. > XML файл выглядит примерно так: > <material><date>21.03.2002 11:53</date><author>Some > author.</author><author_id>7966</author_id><can_edit>0</can_edit><title><![CDATA[Some > > > text.Some text.Some text.Some text.Some text.Some text.Some text.Some > text.Some text.Some text. > ]]></title><id>10242</id><headline><![CDATA[Some text.Some text.Some > text. </div>]]></text><material_other_theme><name>some > text</name><link>7251</link></material_other_theme><comments> > </comments> > </material> Пожалуйста: #!/usr/bin/perl -w use strict; use XML::DOM; sub elvalue { my ($self, $nodetag) = @_; my $text = ''; foreach ($self->getElementsByTagName($nodetag)->item(0)->getChildNodes) { $text .= $_->getNodeValue if $_->getNodeType == TEXT_NODE || $_->getNodeType == CDATA_SECTION_NODE; } $text; } my $parser = new XML::DOM::Parser; my $doc = $parser->parsefile("ourfile.xml"); my $parent = $doc->getDocumentElement; my $date = $parent->main::elvalue('date'); my $author = $parent->main::elvalue('author'); my $headline = $parent->main::elvalue('headline'); my $text = $parent->main::elvalue('text'); ... Андрей
| |||||||||||||||||||||
|
|