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"
。
この問題を解決するのを手伝ってください。