はここに移動してしまった私はStackOverflowの中に自分の答えを掲示していました。申し訳ありませんが回答として投稿していますが、コメントに書式設定された入力を行うことはできません。 :-)
これは私のために働いています。
root_node = xmlNewNode(NULL, BAD_CAST "root");
xmlDocSetRootElement(doc, root_node);
//==========================================================================
// Comment block ABOVE the root node
//==========================================================================
cur_node = xmlAddPrevSibling(root_node, xmlNewComment(BAD_CAST copyright));
xmlAddNextSibling(cur_node, xmlNewComment(BAD_CAST generated));
cur_node = x
mlNewChild(root_node, NULL, BAD_CAST "Model" , BAD_CAST "FRED");
//==========================================================================
// Comment block inside the root node but ABOVE the Model node
//==========================================================================
cur_node = xmlAddPrevSibling(root_node, xmlNewComment(BAD_CAST modinfo));
xmlAddNextSibling(cur_node, xmlNewComment(BAD_CAST more_modinfo));
ノードを追加すると、それは、その後、新規doc /子要素の前にまだそのコメントの下に追加linesofコメントを置くが、前に、あなたがコメントを入れていることに注意してください。
また、これらのコメントは、ルートノードの外部にあり、ルートの兄弟である目に見えるノード内ではないことに注意してください。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE TEST SYSTEM "testsystem.dtd">
<!--Copyright (c) 2012 SuperTechnology, LLC.-->
<!--Generated Jan 20 2012 16:15:11-->
<root_node>
libxml ++コードではありません。それはlibxmlコードです。 – murrayc