J'ai un simple fichier XML qui ressemble à ceci:Quel est le problème avec cette instruction findnodes dans mon script Perl?
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<microplateDoc xmlns="http://moleculardevices.com/microplateML">
<camelids>
<species name="Camelus bactrianus">
<common-name>Bactrian Camel</common-name>
<physical-characteristics>
<mass>450 to 500 kg.</mass>
<appearance>
Blah blah blah
</appearance>
</physical-characteristics>
</species>
</camelids>
</microplateDoc>
Je suis en train de lire les noms des espèces avec le script Perl suivant:
use XML::LibXML;
my $parser = XML::LibXML->new();
my $doc = $parser->parse_file('/Users/johncumbers/Documents/7_Scripts/Perl/XML_to_MySQL/simplified_camelids.xml');
my $xc = XML::LibXML::XPathContext->new($doc->documentElement() );
$xc->registerNs('ns', 'http://moleculardevices.com/microplateML');
#loop through to find species nodes
my @n = $xc->findnodes('*/species'); #was */species
foreach $nod (@n) {
print "A: ".$nod->getAttribute("name")."\n";
my @c = $nod->findnodes('./common-name');
}
Mais je ne pas se trouver nœuds. Êtes-vous en mesure d'aider et de me dire pourquoi cela ne fonctionne pas s'il vous plaît? Quel est le meilleur site Web pour rechercher des fonctions de Perl afin que je puisse essayer et dépanner moi-même le problème? Comment puis-je obtenir le script pour me dire ce qu'il fait, comme la sortie pour le moment est juste rien. Merci beaucoup.
/ns: microplateDoc/ns: camelids/ns: l'espèce fonctionnerait trop bien ... –