Perl LibXML读取xml文件,命名空间不读取文件

时间:2013-11-29 12:50:14

标签: perl xml-libxml

我必须使用Perl LibXML读取xml文件。我会读很多xml文件。但是这个文件下面有一些命名空间是我的示例xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<alto xmlns="http://www.loc.gov/standards/alto/ns-v2#"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.loc.gov/standards/alto alto-v2.0.xsd">
<Description>
<MeasurementUnit>inch1200</MeasurementUnit>
</Description>
</alto>

以下是我阅读上述文件的Perl代码

use XML::LibXML;

$xml = 'test.xml';

my $parser =XML::LibXML->new();

eval{
   $doc = $parser->parse_file($xml) or die;
};

if($@){
   return;
}
else{
   $v = $doc->findvalue('/alto/Description/MeasurementUnit');
   print "value\t".$v;
}

但当我将xmlns="更改为xmlns:x="时,它会起作用。

但我的xml不包含xmlns:x这只包含xmlns="value"

请帮我解决这个问题。

0 个答案:

没有答案