나는 다음과 같습니다 간단한 XML 파일이 : 나는 다음과 같은 펄 스크립트 종의 이름을 읽을려고Perl의 스크립트에서이 findnodes 문에 어떤 문제가 있습니까?
<?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>
:
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');
}
그러나 나는 얻을 아무것도 발견에 실패하고 노드. 도와 주실 수 있나요? 왜 제발 작동하지 않는지 말해 주시겠습니까? 내가 시도하고 문제를 해결할 수 있도록 perl 함수를 찾는 최고의 웹 사이트는 무엇입니까? 현재 출력물이 아무 것도 아니므로 스크립트에서 수행중인 작업을 알려주려면 어떻게해야합니까? 많은 감사합니다.
/ns : microplateDoc/ns : camelids/ns : 종은 너무 작을 것입니다 ... –