У меня есть XML-файл, часть которого выглядит так:
<wave waveID="1">
<well wellID="1" wellName="A1">
<oneDataSet>
<rawData>0.1123975676</rawData>
</oneDataSet>
</well>
... more wellID's and rawData continues here...
Я пытаюсь проанализировать файл с помощью libXML в Perl и вывести wellName и rawData, используя следующее:
use XML::LibXML;
my $parser = XML::LibXML->new();
my $doc = $parser->parse_file('/Users/johncumbers/Temp/1_12-18-09-111823.orig.xml');
my $xc = XML::LibXML::XPathContext->new( $doc->documentElement() );
$xc->registerNs('ns', 'http://moleculardevices.com/microplateML');
my @n = $xc->findnodes('//ns:wave[@waveID="1"]'); #xc is xpathContent
# should find a tree from the node representing everything beneath the waveID 1
foreach $nod (@n) {
my @c = $nod->findnodes('//rawData'); #element inside the tree.
print @c;
}
Сейчас он ничего не печатает, и я думаю, что у меня проблема с моими утверждениями Xpath. Пожалуйста, вы можете помочь мне исправить это, или вы можете показать мне, как с трудом снимать утверждения xpath? Спасибо.