static const char* gXMLInMemBuf =
"\
<?xml version='1.0' encoding='UTF-8'?>\n\
<!DOCTYPE company [\n\
<!ELEMENT company (product,category,developedAt)>\n\
<!ELEMENT product (#PCDATA)>\n\
<!ELEMENT category (#PCDATA)>\n\
<!ATTLIST category idea CDATA #IMPLIED>\n\
<!ELEMENT developedAt (#PCDATA)>\n\
]>\n\n\
<company idea='great' id ='2'>\n\
<product idea='great'>XML4C</product>\n\
<category idea='great'>XML Parsing ToolsIBM</category>\n\
<developedAt idea='great'>\n\
IBM Center for Java Technology, Silicon Valley, Cupertino, CA\n\
</developedAt>\n\
</company>\
";
const char* bufferId = bufferIdOnly;
MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager;
MemBufInputSource* memBufIS = new MemBufInputSource
(
(const XMLByte*)xmlContent
, strlen(xmlContent)
, bufferId
, false
);
DOMInputSource * inSource = new Wrapper4InputSource(memBufIS,true, manager);
XMLCh tempStr[100];
XMLString::transcode("LS", tempStr, 99);
DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(tempStr);
DOMBuilder* parser = ((DOMImplementationLS*)impl)->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
DOMDocument* xmlDoc;
xmlDoc = parser->parse(*inSource);
这样就把char *的字符串转换成 Dom 的document了。