3
저는 XML 세계에 매우 익숙합니다. XML :: LibXML을 사용하여 XML을 생성하는 다음 코드를 작성했습니다. 나는 내가 틀린 것으로 생각하는 속성으로서 네임 스페이스를 다루고있는 것으로 보인다는 것을 이해합니다. 어떻게해야할지 모르겠다. 그래서 내 코드를 제발 기쁘게 도와 줄 찾고.perl XML 문서를 작성하는 LibXML
XML 문서 :
<RootDocument protocol="OCI" xmlns="C" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<sessionId xmlns="">172.24.160.8,31436753,1298637565495</sessionId>
<command xsi:type="AuthenticationRequest" xmlns="">
<userId>automation</userId>
</command>
</RootDocument>
펄 스크립트 다음 perldoc을에서
my $ociRequest = XML::LibXML::Document->new('1.0', 'utf-8');
my $root = $ociRequest->createElement ('RootDocument');
$root->addChild ($ociRequest->createAttribute (protocol => 'OCI'));
$root->addChild ($ociRequest->createAttribute (xmlns => 'C'));
$root->addChild ($ociRequest->createAttribute ('xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance'));
#$root->setNamespace ('http://www.w3.org/2001/XMLSchema-instance', 'xsi', 0);
$ociRequest->setDocumentElement ($root);
my $session = $ociRequest->createElement ('sessionId');
$session->addChild ($ociRequest->createAttribute (xmlns => ''));
$session->addChild($ociRequest->createTextNode($sessionID));
$root->addChild($session);
my $command = $ociRequest->createElement ('command');
$command->addChild ($ociRequest->createAttribute ('xsi:type' => 'AuthenticationRequest'));
$command->addChild ($ociRequest->createAttribute ('xmlns' => ''));
my $userid = $ociRequest->createElement ('userId');
$userid->addChild($ociRequest->createTextNode('automation'));
$command->addChild($userid);
$root->addChild ($command);
$ociRequest->setDocumentElement($root);
my $xml = $ociRequest->toString;
관련 스키마가 있습니까? – justkt