2017-07-18 7 views
0

XMLファイルのノードの1つ(例:<date>)がコメントされています。私が欲しいものlibxmlを使用して解析中のXMLファイルからコメントを削除します。

<?xml version="1.0"?> 
<story> 
    <info> 
    <author>Abc Xyz</author> 
    <!--<date>June 2, 2017</date> --> 
    <keyword>example keyword</keyword> 
    </info> 
</story> 

はのlibxmlライブラリを使用してXMLファイルから完全にそのコメント行/ノードを削除することであり、それは以下のようになります。

<?xml version="1.0"?> 
<story> 
    <info> 
    <author>Abc Xyz</author> 
    <keyword>example keyword</keyword> 
    </info> 
</story> 

は、私はまたのlibxmlドキュメントが、それのdidn」と呼ばXMLファイルの "comment/s"を参考にしてくれました。

答えて

0

あなたは、XMLを解析中NodeType()を使用して、それがコメントだ場合は、各ノードのチェック(8コメントを意味し、ここを参照してください:http://xmlsoft.org/xmlreader.html#Extracting)をすることができ、その後、xmlUnlinkNode()xmlFreeNode()でそれを削除します。

0

私は別の方法で試してみました。代わりに、私はその後、解析がチェック以下のなかった一方で、xmlReadMemory()をした、あまり助けにはなりませんXMLを変更するためのxmlreaderを使用して次のようになります。

if(node->type == XML_COMMENT_NODE){ //node is of type xmlNodePtr 
    xmlUnlinkNode(node); 
    xmlFreeNode(node); 
} 

そして最後にxmlDocDumpFormatMemory()xmlbufferに変更されたXMLを格納します。

関連する問題