Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> perl cgi xml, парсинг xml 
:(
    Опции темы
Eferalgan
Дата 19.8.2014, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.8.2014

Репутация: нет
Всего: нет



Уважаемые, коллеги!
Помогите челловеку, который начинает свое знакомство с perl.
Надо сделать вебку которая постом принимает xml, проверяет некоторые вещи и отвечает тем же xml. 
На данный момент есть следующее:

Цитата

#!/usr/bin/perl -T
 
use strict;
use XML::Simple;
use CGI qw();
use Data::Dumper;
 
my $cgi = CGI->new;
my $xml = $cgi->param('POSTDATA');
print "Content-type: text/html\n\n";
 
my $simple = XML::Simple->new(ForceArray => 1, KeepRoot => 1);
my $data   = $simple->XMLin($xml);
 
print Dumper($data) . "\n";

В результате отправленая POST-ом xml выводиться в броузере. 
Например вот так:
Цитата

$VAR1 = {
          'Transfer' => [
                        {
                          'action' => 'Presearch',
                          'xmlns' => 'http://abc.com',
                          'Data' => [
                                    {
                                      'xmlns:xsi' => 'http://www.abcd.com',
                                      'Unit' => {
                                                'ls' => {
                                                        'value' => '710005007302'
                                                      }
                                              },
                                      'xsi:type' => 'Payer'
                                    }
                                  ],
                          'interface' => 'Debt'
                        }
                      ]
        };

Как создать переменную со значением параметра "action", например? То есть, как в результате получить переменную $x со значением "Presearch"?
Заранее спасибо за любые советы)
P.S. Perl 5
PM MAIL   Вверх
Bulat
Дата 20.8.2014, 05:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: нет
Всего: 57



А если чуть-чуть изменить скрипт, как я указал ниже, что будет на выводе??

Код

#!/usr/bin/perl -T
 
use strict;
use XML::Simple;
use CGI qw();
use Data::Dumper;
 
my $cgi = CGI->new;
my $xml = $cgi->param('POSTDATA');
print "Content-type: text/html\n\n";
 
my $simple = XML::Simple->new(ForceArray => 1, KeepRoot => 1);
my $data   = $simple->XMLin($xml);
 
print $data . "\n";



--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Eferalgan
Дата 20.8.2014, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.8.2014

Репутация: нет
Всего: нет



HASH(0x1060f00)

PM MAIL   Вверх
tzirechnoy
Дата 20.8.2014, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: -1
Всего: 16



perldoc perlref, прочесть цэликом и с выражэнием.


(Ну, конкретно здесь -- вероятно $data->{"Transfer"}->[0]->{"action"} )
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.1139 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.