在Perl的XML :: LibXML中访问元素的正确Xpath查询是什么?

时间:2010-01-18 07:25:12

标签: perl xpath libxml2

我正在尝试在一些<rawData>data is here</rawData>标记内访问一个名为原始数据的元素。但是这个使用Perl的XML::LibXML的XPath查询无效:

foreach my $m ($xc->findnodes(q<//ns:wave[@waveID='1']/ns:well/oneDataSet/rawData>)) {
    print $m->textContent, "\n";
}

但获取属性@wellName的类似查询工作正常:

foreach my $n ($xc->findnodes(q<//ns:wave[@waveID='1']/ns:well/@wellName>)) {
    print $n->textContent, "\n";
}

我上面的语法有什么问题才能访问该元素?

1 个答案:

答案 0 :(得分:2)

如果没有看到你的XML,我无法确定,//ns:wave[@waveID='1']/ns:well/oneDataSet/rawData会让我想知道命名空间oneDataSetrawData应该是什么。你需要为它们添加前缀吗?