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');
...
Андрей
971 Прочтений • [Разбор XML в perl скриптах (xml perl)] [08.05.2012] [Комментариев: 0]