मैं एक सरल xml फ़ाइल है कि इस तरह दिखता है:मेरी पर्ल की लिपि में इस 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');
}
लेकिन मैं प्राप्त किसी भी खोजने के लिए असफल रहने हूँ नोड्स। क्या आप मेरी मदद कर सकते हैं और बता सकते हैं कि यह क्यों काम नहीं कर रहा है? पर्ल फ़ंक्शंस को देखने के लिए सबसे अच्छी वेबसाइट क्या है ताकि मैं इसे स्वयं शूट करने में कोशिश कर सकूं? मैं स्क्रिप्ट कैसे प्राप्त कर सकता हूं यह बताने के लिए कि यह क्या कर रहा है, क्योंकि इस समय आउटपुट कुछ भी नहीं है। बहुत धन्यवाद।
/एनएस: माइक्रोप्रेट डॉक/एनएस: ऊंट/एनएस: प्रजातियां भी बीटीडब्ल्यू काम करती हैं ... –