xerces-c,c++解析xml,解析xml字符串

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了。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值