2013-10-16 3 views
1

XML :: LibXML을 사용하고 있습니다. 주석이 태그 외부에 있도록 주석을 추가하고 싶습니다. 그것을 태그 바깥에 둘 수 있습니까? 나는 appendChild를 시도했다, insertBefore | 차이가 없으면 ...LibXML - 주석 삽입

 <JJ>junk</JJ> <!--My comment Here!--> 

    # Code excerpt from within a foreach loop: 
    my $elem  = $dom->createElement("JJ"); 
    my $txt_node = $dom->createTextNode("junk"); 
    my $cmt  = $dom->createComment("My comment Here!"); 

    $elem->appendChild($txt_node); 
    $b->appendChild($elem); 
    $b->appendChild($frag); 
    $elem->appendChild($cmt); 

    # but it puts the comment between the tags ... 
    <JJ>junk<!--My comment Here!--></JJ> 

답변

5

$elem은 아니고 상위 노드에 주석 노드를 추가하지 마십시오. 예를 들어, 스크립트

use XML::LibXML; 

my $doc = XML::LibXML::Document->new; 
my $root = $doc->createElement("doc"); 
$doc->setDocumentElement($root); 
$root->appendChild($doc->createElement("JJ")); 
$root->appendChild($doc->createComment("comment")); 
print $doc->toString(1); 

인쇄

<?xml version="1.0"?> 
<doc> 
    <JJ/> 
    <!--comment--> 
</doc> 
+0

덕분에 다시 @nwellnhof 다음! – CraigP