Я пытаюсь проверить XML-код на схему с помощью модуля CPAN LibXML::Schema Validator. В этом же скрипте я использую модуль CPAN XML::DOM для анализа XML. Я хочу, чтобы мой скрипт взял XML-файл, проверяя его на XSD и анализируя его.Почему мой XSD-файл не анализирует XML :: LibXML?
Когда я пытаюсь запустить скрипт, после проверки с помощью xsd он выходит и не анализирует XML. Я хочу, чтобы он анализировал XML-файл, если он действителен и создает структуру DOM. Я был бы очень признателен, если бы кто-то мог рассказать о нем.
#usr/bin/perl -w
use XML::LibXML;
my $schema = XML::LibXML::Schema->new(location =>'export.xsd');
my $parser = XML::LibXML->new;
my $xml = 'Export.xml';
my $doc = $parser->parse_file($xml);
eval { $schema->validate($doc) };
print [email protected] if [email protected];
print "$xml is valid\n";
use XML::DOM;
#use strict;
my $parser = new XML::DOM::Parser;
my $doc = $parser->parsefile ("Export.xml");
my $productOfferingnodes = $doc->getElementsByTagName("productOfferings")->item(0);
my @productOffering = $productOfferingnodes->getChildNodes();
{
foreach my $productOffering(@productOffering)
{
if ($productOffering->getNodeType == ELEMENT_NODE)
{
print $productOffering->getNodeName;
}
}
}
Сообщение об ошибке:
Schemas parser error : Failed to parse the XML resource 'export.xsd'.
Не могли бы вы опубликовать сообщение ошибки и, возможно, некоторые кода? –