Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
Bonjour,
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
<services>
-
<mas name="NAFZ2MAN">
<description>MAS</description>
-
<contrats>
-
<contrat name="CONTRAT_NAFZ2MAN_top2">
<description>contrat CONTRAT_NAFZ2MAN_top2</description>
-
<etatContrat>
-
<etat name=":etatContrat:stabilise">
<description>Stabilisé</description>
</etat>
</etatContrat>
-
<services>
-
<service name="RestitutionNomenclatureInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface">
<description>Description</description>
</service>
-
<service name="RestitutionActivitesInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface">
<description>Description</description>
.......
</service>
</contrat>
</contrats>
</mas>
</services>
[...]
Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et tester que
l'URL fonctionne ?
PS : j'aimerai aussi récupérer nom du contrat, services ..
Merçi d'avance.
Bonjour,
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
<services>
-
<mas name="NAFZ2MAN">
<description>MAS</description>
-
<contrats>
-
<contrat name="CONTRAT_NAFZ2MAN_top2">
<description>contrat CONTRAT_NAFZ2MAN_top2</description>
-
<etatContrat>
-
<etat name=":etatContrat:stabilise">
<description>Stabilisé</description>
</etat>
</etatContrat>
-
<services>
-
<service name="RestitutionNomenclatureInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface">
<description>Description</description>
</service>
-
<service name="RestitutionActivitesInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface">
<description>Description</description>
.......
</service>
</contrat>
</contrats>
</mas>
</services>
[...]
Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et tester que
l'URL fonctionne ?
PS : j'aimerai aussi récupérer nom du contrat, services ..
Merçi d'avance.
Bonjour,
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
<services>
-
<mas name="NAFZ2MAN">
<description>MAS</description>
-
<contrats>
-
<contrat name="CONTRAT_NAFZ2MAN_top2">
<description>contrat CONTRAT_NAFZ2MAN_top2</description>
-
<etatContrat>
-
<etat name=":etatContrat:stabilise">
<description>Stabilisé</description>
</etat>
</etatContrat>
-
<services>
-
<service name="RestitutionNomenclatureInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface">
<description>Description</description>
</service>
-
<service name="RestitutionActivitesInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface">
<description>Description</description>
.......
</service>
</contrat>
</contrats>
</mas>
</services>
[...]
Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et tester que
l'URL fonctionne ?
PS : j'aimerai aussi récupérer nom du contrat, services ..
Merçi d'avance.
A la surprise générale, je vais proposer une solution avec XML::Twig.
Un "handler" sur service to donne accès à l'élément, comme ça tu ne
t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new( twig_handlers => { service => &service })
->parsefile( "wsdl.xml");
sub service
{ my( $t, $service)= @_;
print "nom: ", $service->field( 'description'), "n";
print "url: ", $service->att( 'wsdl'), "n";
}
Note que si les données dans ton example étaient valide, ça serait
plus facile, j'ai du tripatouiller le XML un moment pour pouvoir
tester...
A la surprise générale, je vais proposer une solution avec XML::Twig.
Un "handler" sur service to donne accès à l'élément, comme ça tu ne
t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new( twig_handlers => { service => &service })
->parsefile( "wsdl.xml");
sub service
{ my( $t, $service)= @_;
print "nom: ", $service->field( 'description'), "n";
print "url: ", $service->att( 'wsdl'), "n";
}
Note que si les données dans ton example étaient valide, ça serait
plus facile, j'ai du tripatouiller le XML un moment pour pouvoir
tester...
A la surprise générale, je vais proposer une solution avec XML::Twig.
Un "handler" sur service to donne accès à l'élément, comme ça tu ne
t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new( twig_handlers => { service => &service })
->parsefile( "wsdl.xml");
sub service
{ my( $t, $service)= @_;
print "nom: ", $service->field( 'description'), "n";
print "url: ", $service->att( 'wsdl'), "n";
}
Note que si les données dans ton example étaient valide, ça serait
plus facile, j'ai du tripatouiller le XML un moment pour pouvoir
tester...
Merci Michel pour ce bout de code qui illustre de manière bien plus
parlante ce que j'essayais de dire maladroitement dans ma réponse.
Merci Michel pour ce bout de code qui illustre de manière bien plus
parlante ce que j'essayais de dire maladroitement dans ma réponse.
Merci Michel pour ce bout de code qui illustre de manière bien plus
parlante ce que j'essayais de dire maladroitement dans ma réponse.
Paul Gaborit wrote:Merci Michel pour ce bout de code qui illustre de manière bien plus
parlante ce que j'essayais de dire maladroitement dans ma réponse.
Un bout de code vaut mille mots?
Paul Gaborit wrote:
Merci Michel pour ce bout de code qui illustre de manière bien plus
parlante ce que j'essayais de dire maladroitement dans ma réponse.
Un bout de code vaut mille mots?
Paul Gaborit wrote:Merci Michel pour ce bout de code qui illustre de manière bien plus
parlante ce que j'essayais de dire maladroitement dans ma réponse.
Un bout de code vaut mille mots?
apolloj wrote:Bonjour,
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
<services>
-
<mas name="NAFZ2MAN">
<description>MAS</description>
-
<contrats>
-
<contrat name="CONTRAT_NAFZ2MAN_top2">
<description>contrat CONTRAT_NAFZ2MAN_top2</description>
-
<etatContrat>
-
<etat name=":etatContrat:stabilise">
<description>Stabilisé</description>
</etat>
</etatContrat>
-
<services>
-
<service name="RestitutionNomenclatureInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface">
<description>Description</description>
</service>
-
<service name="RestitutionActivitesInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface">
<description>Description</description>
.......
</service>
</contrat>
</contrats>
</mas>
</services>
[...]
Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et tester que
l'URL fonctionne ?
PS : j'aimerai aussi récupérer nom du contrat, services ..
Merçi d'avance.
A la surprise générale, je vais proposer une solution avec XML::Twig.
Un "handler" sur service to donne accès à l'élément, comme ça tu ne
t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new( twig_handlers => { service => &service })
->parsefile( "wsdl.xml");
sub service
{ my( $t, $service)= @_;
print "nom: ", $service->field( 'description'), "n";
print "url: ", $service->att( 'wsdl'), "n";
}
Note que si les données dans ton example étaient valide, ça serait plus
facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
apolloj wrote:
Bonjour,
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
<services>
-
<mas name="NAFZ2MAN">
<description>MAS</description>
-
<contrats>
-
<contrat name="CONTRAT_NAFZ2MAN_top2">
<description>contrat CONTRAT_NAFZ2MAN_top2</description>
-
<etatContrat>
-
<etat name=":etatContrat:stabilise">
<description>Stabilisé</description>
</etat>
</etatContrat>
-
<services>
-
<service name="RestitutionNomenclatureInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface">
<description>Description</description>
</service>
-
<service name="RestitutionActivitesInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface">
<description>Description</description>
.......
</service>
</contrat>
</contrats>
</mas>
</services>
[...]
Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et tester que
l'URL fonctionne ?
PS : j'aimerai aussi récupérer nom du contrat, services ..
Merçi d'avance.
A la surprise générale, je vais proposer une solution avec XML::Twig.
Un "handler" sur service to donne accès à l'élément, comme ça tu ne
t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new( twig_handlers => { service => &service })
->parsefile( "wsdl.xml");
sub service
{ my( $t, $service)= @_;
print "nom: ", $service->field( 'description'), "n";
print "url: ", $service->att( 'wsdl'), "n";
}
Note que si les données dans ton example étaient valide, ça serait plus
facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
apolloj wrote:Bonjour,
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
<services>
-
<mas name="NAFZ2MAN">
<description>MAS</description>
-
<contrats>
-
<contrat name="CONTRAT_NAFZ2MAN_top2">
<description>contrat CONTRAT_NAFZ2MAN_top2</description>
-
<etatContrat>
-
<etat name=":etatContrat:stabilise">
<description>Stabilisé</description>
</etat>
</etatContrat>
-
<services>
-
<service name="RestitutionNomenclatureInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface">
<description>Description</description>
</service>
-
<service name="RestitutionActivitesInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface">
<description>Description</description>
.......
</service>
</contrat>
</contrats>
</mas>
</services>
[...]
Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et tester que
l'URL fonctionne ?
PS : j'aimerai aussi récupérer nom du contrat, services ..
Merçi d'avance.
A la surprise générale, je vais proposer une solution avec XML::Twig.
Un "handler" sur service to donne accès à l'élément, comme ça tu ne
t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new( twig_handlers => { service => &service })
->parsefile( "wsdl.xml");
sub service
{ my( $t, $service)= @_;
print "nom: ", $service->field( 'description'), "n";
print "url: ", $service->att( 'wsdl'), "n";
}
Note que si les données dans ton example étaient valide, ça serait plus
facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
Dernière question ( je ne suis pas un spécialiste de XML) :
J'ai bien compris que twig parsait selon les tags fermants.
Est il possible d'avoir une sortie (des attributs) selon l'ordre des
tags ouvrants ?
Dernière question ( je ne suis pas un spécialiste de XML) :
J'ai bien compris que twig parsait selon les tags fermants.
Est il possible d'avoir une sortie (des attributs) selon l'ordre des
tags ouvrants ?
Dernière question ( je ne suis pas un spécialiste de XML) :
J'ai bien compris que twig parsait selon les tags fermants.
Est il possible d'avoir une sortie (des attributs) selon l'ordre des
tags ouvrants ?
Bonjour, de XML
Merçi mirod et Paul, excellente solution !
J'ai beaucoup apprécié vote exemple (à recommander):
http://xmltwig.com/talk/twig_pour_les_nuls/twig_pour_les_nuls.odp
Dernière question ( je ne suis pas un spécialiste de XML) :
J'ai bien compris que twig parsait selon les tags fermants.
Est il possible d'avoir une sortie (des attributs) selon l'ordre des
tags ouvrants ?
Cordialement.
mirod a écrit :apolloj wrote:Bonjour,
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
<services>
-
<mas name="NAFZ2MAN">
<description>MAS</description>
-
<contrats>
-
<contrat name="CONTRAT_NAFZ2MAN_top2">
<description>contrat CONTRAT_NAFZ2MAN_top2</description>
-
<etatContrat>
-
<etat name=":etatContrat:stabilise">
<description>Stabilisé</description>
</etat>
</etatContrat>
-
<services>
-
<service name="RestitutionNomenclatureInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface">
<description>Description</description>
</service>
-
<service name="RestitutionActivitesInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface">
<description>Description</description>
.......
</service>
</contrat>
</contrats>
</mas>
</services>
[...]
Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et tester que
l'URL fonctionne ?
PS : j'aimerai aussi récupérer nom du contrat, services ..
Merçi d'avance.
A la surprise générale, je vais proposer une solution avec XML::Twig.
Un "handler" sur service to donne accès à l'élément, comme ça tu ne
t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new( twig_handlers => { service => &service })
->parsefile( "wsdl.xml");
sub service
{ my( $t, $service)= @_;
print "nom: ", $service->field( 'description'), "n";
print "url: ", $service->att( 'wsdl'), "n";
}
Note que si les données dans ton example étaient valide, ça serait plus
facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
Bonjour, de XML
Merçi mirod et Paul, excellente solution !
J'ai beaucoup apprécié vote exemple (à recommander):
http://xmltwig.com/talk/twig_pour_les_nuls/twig_pour_les_nuls.odp
Dernière question ( je ne suis pas un spécialiste de XML) :
J'ai bien compris que twig parsait selon les tags fermants.
Est il possible d'avoir une sortie (des attributs) selon l'ordre des
tags ouvrants ?
Cordialement.
mirod a écrit :
apolloj wrote:
Bonjour,
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
<services>
-
<mas name="NAFZ2MAN">
<description>MAS</description>
-
<contrats>
-
<contrat name="CONTRAT_NAFZ2MAN_top2">
<description>contrat CONTRAT_NAFZ2MAN_top2</description>
-
<etatContrat>
-
<etat name=":etatContrat:stabilise">
<description>Stabilisé</description>
</etat>
</etatContrat>
-
<services>
-
<service name="RestitutionNomenclatureInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface">
<description>Description</description>
</service>
-
<service name="RestitutionActivitesInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface">
<description>Description</description>
.......
</service>
</contrat>
</contrats>
</mas>
</services>
[...]
Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et tester que
l'URL fonctionne ?
PS : j'aimerai aussi récupérer nom du contrat, services ..
Merçi d'avance.
A la surprise générale, je vais proposer une solution avec XML::Twig.
Un "handler" sur service to donne accès à l'élément, comme ça tu ne
t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new( twig_handlers => { service => &service })
->parsefile( "wsdl.xml");
sub service
{ my( $t, $service)= @_;
print "nom: ", $service->field( 'description'), "n";
print "url: ", $service->att( 'wsdl'), "n";
}
Note que si les données dans ton example étaient valide, ça serait plus
facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
Bonjour, de XML
Merçi mirod et Paul, excellente solution !
J'ai beaucoup apprécié vote exemple (à recommander):
http://xmltwig.com/talk/twig_pour_les_nuls/twig_pour_les_nuls.odp
Dernière question ( je ne suis pas un spécialiste de XML) :
J'ai bien compris que twig parsait selon les tags fermants.
Est il possible d'avoir une sortie (des attributs) selon l'ordre des
tags ouvrants ?
Cordialement.
mirod a écrit :apolloj wrote:Bonjour,
Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
inclus dans un fichier xml tel que celui-ci
<services>
-
<mas name="NAFZ2MAN">
<description>MAS</description>
-
<contrats>
-
<contrat name="CONTRAT_NAFZ2MAN_top2">
<description>contrat CONTRAT_NAFZ2MAN_top2</description>
-
<etatContrat>
-
<etat name=":etatContrat:stabilise">
<description>Stabilisé</description>
</etat>
</etatContrat>
-
<services>
-
<service name="RestitutionNomenclatureInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionNomenclatureInterface">
<description>Description</description>
</service>
-
<service name="RestitutionActivitesInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface?wsdl"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/contrat_nafz2man_top2/RestitutionActivitesInterface">
<description>Description</description>
.......
</service>
</contrat>
</contrats>
</mas>
</services>
[...]
Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et tester que
l'URL fonctionne ?
PS : j'aimerai aussi récupérer nom du contrat, services ..
Merçi d'avance.
A la surprise générale, je vais proposer une solution avec XML::Twig.
Un "handler" sur service to donne accès à l'élément, comme ça tu ne
t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new( twig_handlers => { service => &service })
->parsefile( "wsdl.xml");
sub service
{ my( $t, $service)= @_;
print "nom: ", $service->field( 'description'), "n";
print "url: ", $service->att( 'wsdl'), "n";
}
Note que si les données dans ton example étaient valide, ça serait plus
facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
apolloj wrote:
> Bonjour, de XML
> Merçi mirod et Paul, excellente solution !
> J'ai beaucoup apprécié vote exemple (à recommander):
>http://xmltwig.com/talk/twig_pour_les_nuls/twig_pour_les_nuls.odp
> Dernière question ( je ne suis pas un spécialiste de XML) :
> J'ai bien compris que twig parsait selon les tags fermants.
> Est il possible d'avoir une sortie (des attributs) selon l'ordre des
> tags ouvrants ?
> Cordialement.
> mirod a écrit :
>> apolloj wrote:
>>> Bonjour,
>>> Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
>>> inclus dans un fichier xml tel que celui-ci
>>> <services>
>>> -
>>> <mas name="NAFZ2MAN">
>>> <description>MAS</description>
>>> -
>>> <contrats>
>>> -
>>> <contrat name="CONTRAT_NAFZ2MAN_top2">
>>> <description>contrat CONTRAT_NAFZ2MAN_top2</description>
>>> -
>>> <etatContrat>
>>> -
>>> <etat name=":etatContrat:stabilise">
>>> <description>Stabilisé</description>
>>> </etat>
>>> </etatContrat>
>>> -
>>> <services>
>>> -
>>> <service name="RestitutionNomenclatureInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> </service>
>>> -
>>> <service name="RestitutionActivitesInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> .......
>>> </service>
>>> </contrat>
>>> </contrats>
>>> </mas>
>>> </services>
>>> [...]
>>> Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
>>> XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et teste r que
>>> l'URL fonctionne ?
>>> PS : j'aimerai aussi récupérer nom du contrat, services ..
>>> Merçi d'avance.
>> A la surprise générale, je vais proposer une solution avec XML::Tw ig.
>> Un "handler" sur service to donne accès à l'élément, comme ç a tu ne
>> t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
>> sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
>> #!/usr/bin/perl
>> use strict;
>> use warnings;
>> use XML::Twig;
>> XML::Twig->new( twig_handlers => { service => &service })
>> ->parsefile( "wsdl.xml");
>> sub service
>> { my( $t, $service)= @_;
>> print "nom: ", $service->field( 'description'), "n";
>> print "url: ", $service->att( 'wsdl'), "n";
>> }
>> Note que si les données dans ton example étaient valide, ça sera it plus
>> facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
Tu peux utiliser l'option start_tag_handlers, qui te permet d'appeler un handler
quand la balise ouvrante est parsée. Le handler reçoit en argument le twig et
l'élément, qui à ce moment là ne contient encore rien, sauf ses a ttributs.
C'est ça que tu cherchais?
--
mirod
apolloj wrote:
> Bonjour, de XML
> Merçi mirod et Paul, excellente solution !
> J'ai beaucoup apprécié vote exemple (à recommander):
>http://xmltwig.com/talk/twig_pour_les_nuls/twig_pour_les_nuls.odp
> Dernière question ( je ne suis pas un spécialiste de XML) :
> J'ai bien compris que twig parsait selon les tags fermants.
> Est il possible d'avoir une sortie (des attributs) selon l'ordre des
> tags ouvrants ?
> Cordialement.
> mirod a écrit :
>> apolloj wrote:
>>> Bonjour,
>>> Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
>>> inclus dans un fichier xml tel que celui-ci
>>> <services>
>>> -
>>> <mas name="NAFZ2MAN">
>>> <description>MAS</description>
>>> -
>>> <contrats>
>>> -
>>> <contrat name="CONTRAT_NAFZ2MAN_top2">
>>> <description>contrat CONTRAT_NAFZ2MAN_top2</description>
>>> -
>>> <etatContrat>
>>> -
>>> <etat name=":etatContrat:stabilise">
>>> <description>Stabilisé</description>
>>> </etat>
>>> </etatContrat>
>>> -
>>> <services>
>>> -
>>> <service name="RestitutionNomenclatureInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> </service>
>>> -
>>> <service name="RestitutionActivitesInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> .......
>>> </service>
>>> </contrat>
>>> </contrats>
>>> </mas>
>>> </services>
>>> [...]
>>> Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
>>> XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et teste r que
>>> l'URL fonctionne ?
>>> PS : j'aimerai aussi récupérer nom du contrat, services ..
>>> Merçi d'avance.
>> A la surprise générale, je vais proposer une solution avec XML::Tw ig.
>> Un "handler" sur service to donne accès à l'élément, comme ç a tu ne
>> t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
>> sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
>> #!/usr/bin/perl
>> use strict;
>> use warnings;
>> use XML::Twig;
>> XML::Twig->new( twig_handlers => { service => &service })
>> ->parsefile( "wsdl.xml");
>> sub service
>> { my( $t, $service)= @_;
>> print "nom: ", $service->field( 'description'), "n";
>> print "url: ", $service->att( 'wsdl'), "n";
>> }
>> Note que si les données dans ton example étaient valide, ça sera it plus
>> facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
Tu peux utiliser l'option start_tag_handlers, qui te permet d'appeler un handler
quand la balise ouvrante est parsée. Le handler reçoit en argument le twig et
l'élément, qui à ce moment là ne contient encore rien, sauf ses a ttributs.
C'est ça que tu cherchais?
--
mirod
apolloj wrote:
> Bonjour, de XML
> Merçi mirod et Paul, excellente solution !
> J'ai beaucoup apprécié vote exemple (à recommander):
>http://xmltwig.com/talk/twig_pour_les_nuls/twig_pour_les_nuls.odp
> Dernière question ( je ne suis pas un spécialiste de XML) :
> J'ai bien compris que twig parsait selon les tags fermants.
> Est il possible d'avoir une sortie (des attributs) selon l'ordre des
> tags ouvrants ?
> Cordialement.
> mirod a écrit :
>> apolloj wrote:
>>> Bonjour,
>>> Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
>>> inclus dans un fichier xml tel que celui-ci
>>> <services>
>>> -
>>> <mas name="NAFZ2MAN">
>>> <description>MAS</description>
>>> -
>>> <contrats>
>>> -
>>> <contrat name="CONTRAT_NAFZ2MAN_top2">
>>> <description>contrat CONTRAT_NAFZ2MAN_top2</description>
>>> -
>>> <etatContrat>
>>> -
>>> <etat name=":etatContrat:stabilise">
>>> <description>Stabilisé</description>
>>> </etat>
>>> </etatContrat>
>>> -
>>> <services>
>>> -
>>> <service name="RestitutionNomenclatureInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> </service>
>>> -
>>> <service name="RestitutionActivitesInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> .......
>>> </service>
>>> </contrat>
>>> </contrats>
>>> </mas>
>>> </services>
>>> [...]
>>> Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
>>> XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et teste r que
>>> l'URL fonctionne ?
>>> PS : j'aimerai aussi récupérer nom du contrat, services ..
>>> Merçi d'avance.
>> A la surprise générale, je vais proposer une solution avec XML::Tw ig.
>> Un "handler" sur service to donne accès à l'élément, comme ç a tu ne
>> t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
>> sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
>> #!/usr/bin/perl
>> use strict;
>> use warnings;
>> use XML::Twig;
>> XML::Twig->new( twig_handlers => { service => &service })
>> ->parsefile( "wsdl.xml");
>> sub service
>> { my( $t, $service)= @_;
>> print "nom: ", $service->field( 'description'), "n";
>> print "url: ", $service->att( 'wsdl'), "n";
>> }
>> Note que si les données dans ton example étaient valide, ça sera it plus
>> facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
Tu peux utiliser l'option start_tag_handlers, qui te permet d'appeler un handler
quand la balise ouvrante est parsée. Le handler reçoit en argument le twig et
l'élément, qui à ce moment là ne contient encore rien, sauf ses a ttributs.
C'est ça que tu cherchais?
--
mirod
apolloj wrote:
> Bonjour, de XML
> Merçi mirod et Paul, excellente solution !
> J'ai beaucoup apprécié vote exemple (à recommander):
>http://xmltwig.com/talk/twig_pour_les_nuls/twig_pour_les_nuls.odp
> Dernière question ( je ne suis pas un spécialiste de XML) :
> J'ai bien compris que twig parsait selon les tags fermants.
> Est il possible d'avoir une sortie (des attributs) selon l'ordre des
> tags ouvrants ?
> Cordialement.
> mirod a écrit :
>> apolloj wrote:
>>> Bonjour,
>>> Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
>>> inclus dans un fichier xml tel que celui-ci
>>> <services>
>>> -
>>> <mas name="NAFZ2MAN">
>>> <description>MAS</description>
>>> -
>>> <contrats>
>>> -
>>> <contrat name="CONTRAT_NAFZ2MAN_top2">
>>> <description>contrat CONTRAT_NAFZ2MAN_top2</description>
>>> -
>>> <etatContrat>
>>> -
>>> <etat name=":etatContrat:stabilise">
>>> <description>Stabilisé</description>
>>> </etat>
>>> </etatContrat>
>>> -
>>> <services>
>>> -
>>> <service name="RestitutionNomenclatureInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> </service>
>>> -
>>> <service name="RestitutionActivitesInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> .......
>>> </service>
>>> </contrat>
>>> </contrats>
>>> </mas>
>>> </services>
>>> [...]
>>> Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
>>> XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et teste r que
>>> l'URL fonctionne ?
>>> PS : j'aimerai aussi récupérer nom du contrat, services ..
>>> Merçi d'avance.
>> A la surprise générale, je vais proposer une solution avec XML::Tw ig.
>> Un "handler" sur service to donne accès à l'élément, comme ç a tu ne
>> t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
>> sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
>> #!/usr/bin/perl
>> use strict;
>> use warnings;
>> use XML::Twig;
>> XML::Twig->new( twig_handlers => { service => &service })
>> ->parsefile( "wsdl.xml");
>> sub service
>> { my( $t, $service)= @_;
>> print "nom: ", $service->field( 'description'), "n";
>> print "url: ", $service->att( 'wsdl'), "n";
>> }
>> Note que si les données dans ton example étaient valide, ça sera it plus
>> facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
Tu peux utiliser l'option start_tag_handlers, qui te permet d'appeler un handler
quand la balise ouvrante est parsée. Le handler reçoit en argument le twig et
l'élément, qui à ce moment là ne contient encore rien, sauf ses a ttributs.
C'est ça que tu cherchais?
--
mirod
apolloj wrote:
> Bonjour, de XML
> Merçi mirod et Paul, excellente solution !
> J'ai beaucoup apprécié vote exemple (à recommander):
>http://xmltwig.com/talk/twig_pour_les_nuls/twig_pour_les_nuls.odp
> Dernière question ( je ne suis pas un spécialiste de XML) :
> J'ai bien compris que twig parsait selon les tags fermants.
> Est il possible d'avoir une sortie (des attributs) selon l'ordre des
> tags ouvrants ?
> Cordialement.
> mirod a écrit :
>> apolloj wrote:
>>> Bonjour,
>>> Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
>>> inclus dans un fichier xml tel que celui-ci
>>> <services>
>>> -
>>> <mas name="NAFZ2MAN">
>>> <description>MAS</description>
>>> -
>>> <contrats>
>>> -
>>> <contrat name="CONTRAT_NAFZ2MAN_top2">
>>> <description>contrat CONTRAT_NAFZ2MAN_top2</description>
>>> -
>>> <etatContrat>
>>> -
>>> <etat name=":etatContrat:stabilise">
>>> <description>Stabilisé</description>
>>> </etat>
>>> </etatContrat>
>>> -
>>> <services>
>>> -
>>> <service name="RestitutionNomenclatureInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> </service>
>>> -
>>> <service name="RestitutionActivitesInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> .......
>>> </service>
>>> </contrat>
>>> </contrats>
>>> </mas>
>>> </services>
>>> [...]
>>> Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
>>> XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et teste r que
>>> l'URL fonctionne ?
>>> PS : j'aimerai aussi récupérer nom du contrat, services ..
>>> Merçi d'avance.
>> A la surprise générale, je vais proposer une solution avec XML::Tw ig.
>> Un "handler" sur service to donne accès à l'élément, comme ç a tu ne
>> t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
>> sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
>> #!/usr/bin/perl
>> use strict;
>> use warnings;
>> use XML::Twig;
>> XML::Twig->new( twig_handlers => { service => &service })
>> ->parsefile( "wsdl.xml");
>> sub service
>> { my( $t, $service)= @_;
>> print "nom: ", $service->field( 'description'), "n";
>> print "url: ", $service->att( 'wsdl'), "n";
>> }
>> Note que si les données dans ton example étaient valide, ça sera it plus
>> facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
Tu peux utiliser l'option start_tag_handlers, qui te permet d'appeler un handler
quand la balise ouvrante est parsée. Le handler reçoit en argument le twig et
l'élément, qui à ce moment là ne contient encore rien, sauf ses a ttributs.
C'est ça que tu cherchais?
--
mirod
apolloj wrote:
> Bonjour, de XML
> Merçi mirod et Paul, excellente solution !
> J'ai beaucoup apprécié vote exemple (à recommander):
>http://xmltwig.com/talk/twig_pour_les_nuls/twig_pour_les_nuls.odp
> Dernière question ( je ne suis pas un spécialiste de XML) :
> J'ai bien compris que twig parsait selon les tags fermants.
> Est il possible d'avoir une sortie (des attributs) selon l'ordre des
> tags ouvrants ?
> Cordialement.
> mirod a écrit :
>> apolloj wrote:
>>> Bonjour,
>>> Je souhaite utiliser LWP::Simple et XML::Simple pour tester des urls
>>> inclus dans un fichier xml tel que celui-ci
>>> <services>
>>> -
>>> <mas name="NAFZ2MAN">
>>> <description>MAS</description>
>>> -
>>> <contrats>
>>> -
>>> <contrat name="CONTRAT_NAFZ2MAN_top2">
>>> <description>contrat CONTRAT_NAFZ2MAN_top2</description>
>>> -
>>> <etatContrat>
>>> -
>>> <etat name=":etatContrat:stabilise">
>>> <description>Stabilisé</description>
>>> </etat>
>>> </etatContrat>
>>> -
>>> <services>
>>> -
>>> <service name="RestitutionNomenclatureInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> </service>
>>> -
>>> <service name="RestitutionActivitesInterface"
>>> wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2man/con trat_naf..."
>>> accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/nafz2 man/contrat_naf...">
>>> <description>Description</description>
>>> .......
>>> </service>
>>> </contrat>
>>> </contrats>
>>> </mas>
>>> </services>
>>> [...]
>>> Quelqu'un peut il me dire s'il y'a un moyen plus rapide (options de
>>> XML::Simple ou Data:: Dumper) d'accéder à la valeur wsdl et teste r que
>>> l'URL fonctionne ?
>>> PS : j'aimerai aussi récupérer nom du contrat, services ..
>>> Merçi d'avance.
>> A la surprise générale, je vais proposer une solution avec XML::Tw ig.
>> Un "handler" sur service to donne accès à l'élément, comme ç a tu ne
>> t'occupe pas du niveau ou il est (si tu t'interesses a l'attribut wsld
>> sur d'autres éléments, tu peux mettre le handler sur '[@wsdl]')
>> #!/usr/bin/perl
>> use strict;
>> use warnings;
>> use XML::Twig;
>> XML::Twig->new( twig_handlers => { service => &service })
>> ->parsefile( "wsdl.xml");
>> sub service
>> { my( $t, $service)= @_;
>> print "nom: ", $service->field( 'description'), "n";
>> print "url: ", $service->att( 'wsdl'), "n";
>> }
>> Note que si les données dans ton example étaient valide, ça sera it plus
>> facile, j'ai du tripatouiller le XML un moment pour pouvoir tester...
Tu peux utiliser l'option start_tag_handlers, qui te permet d'appeler un handler
quand la balise ouvrante est parsée. Le handler reçoit en argument le twig et
l'élément, qui à ce moment là ne contient encore rien, sauf ses a ttributs.
C'est ça que tu cherchais?
--
mirod