DOMNode をあるドキュメントから別のドキュメントに移動しています。ここでコードスナップ
XercesDOMParser *parser = new XercesDOMParser;
parser->setValidationScheme(XercesDOMParser::Val_Auto);
parser->setDoNamespaces(false);
parser->setDoSchema(false);
parser->setValidationSchemaFullChecking(false);
parser->setCreateEntityReferenceNodes(false);
// getDOMNodeForXMLString will pares the string and return the root DOMNode
DOMNode* vendorExtnDomNode = getDOMNodeForXMLString(*veField,parser);
DOMNodeList* childList = vendorExtnDomNode->getChildNodes();
if(childList)
{
DOMNode* childNode = NULL;
for(childNode = vendorExtnDomNode->getFirstChild();childNode != NULL;childNode = childNode->getNextSibling())
{
DOMElement* newChild = (DOMElement*) Doc->importNode(childNode,true);
veDomNode->appendChild(newChild);
}
}
parser->resetDocumentPool();
delete parser
xml 文字列が以下のような場合は、Doc に追加します
< my:root>
< my:values>
< my:value1>10< /my:value1>
< /my:values>
< /my:root>
しかし、文字列がこのようなものであれば
< my:root>
< my:values>
< my:value1>10< /my:value1>
< my:enum>
< my:value2>10< /my:value1>
< /my:enum>
< /my:values>
< /my:root
次に、xml ダンプで以下のように最初のレベルの階層文字列のみを表示できます。リセットが欠落している理由
< my:root>
< my:values>
< my:value1>10< /my:value1>
< /my:values>
< /my:root>
注: タグ内の空白は無視してください