http://www.perlmonks.org?node_id=1064951

umesh_epub has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I have to read xml file using PERL LibXML. I will read many xml files. But this file have some namespace below is my sample xml file.
<?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>
Here is my Perl code to read the above file
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; }
But when i changed the xmlns=" to xmlns:x=" It will work. But my xml not contain xmlns:x this only it contains xmlns="value".
Please help me to solve this problem.
Thanks, Umesh