Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     09 Dec 2002  19:15:45
 To : Maxim N. Severinovsky
 Subject : Re: Perl and XML
 -------------------------------------------------------------------------------- 
 
 Maxim N. Severinovsky wrote:
 
 > Hе могу врубиться как разбирать XML
 > Hарод рекомендовал юзать XML::LibXML
 > Мне надо Разобрать ваш XML и засунуть его в базу.
 
 Hаш?!!
 
 > Hе поделитесь примером на перле?
 > 
 > XML файл выглядит примерно так:
 > <material><date>21.03.2002 11:53</date><author>Some
 > author.</author><author_id>7966</author_id><can_edit>0</can_edit><title><![CDA
 > TA[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.Some text.Some text.Some text.Some text.Some
 > text.Some text.Some text. ]]></headline><text><![CDATA[<div>Some text. Some
 > text. Some text. Some text. Some text. Some text. Some text. Some text. Some
 > text. Some text. Some text. Some text. Some text. Some text. Some text. Some
 > text. Some text. Some text. Some text. Some text. Some text. Some text.
 > Some text. Some text. Some text. Some text. Some text. Some text. Some
 > text. Some text. Some text. Some text. Some text. Some text. Some text.
 > Some text.
 > </div>]]></text><material_other_theme><name>some text</name><link>7232</link><
 > /material_other_theme><material_other_theme><name>some
 > text</name><link>7251</link></material_other_theme><comments> </comments> </ma
 > terial>
 
 Пожалуйста:
 
 #!/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');
 ...
 Андрей
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Perl and XML   Maxim N. Severinovsky   09 Dec 2002 17:44:40 
 Re: Perl and XML   Andrey Sapozhnikov   09 Dec 2002 19:15:45 
Архивное /ru.cgi.perl/6577f2f8a835.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional