• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開心的工作
            簡單、開放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            msxml 解析 xml

            Posted on 2009-04-27 00:12 S.l.e!ep.¢% 閱讀(446) 評論(0)  編輯 收藏 引用 所屬分類: MSXML

            #include <stdlib.h>
            #include <stdio.h>
            #include <atlbase.h>
            #import?? "msxml3.dll"??
            using?? namespace?? MSXML2;??

            void?? dump_com_error(_com_error?? &e)??
            {??
            ?printf("Error\n");??
            ?printf("\a\tCode?? =?? %08lx\n",?? e.Error());??
            ?printf("\a\tCode?? meaning?? =?? %s",?? e.ErrorMessage());??
            ?_bstr_t?? bstrSource(e.Source());??
            ?_bstr_t?? bstrDescription(e.Description());??
            ?printf("\a\tSource?? =?? %s\n",?? (LPCSTR)?? bstrSource);??
            ?printf("\a\tDescription?? =?? %s\n",?? (LPCSTR)?? bstrDescription);??
            }??


            int?? main(int?? argc,?? char*?? argv[])??
            {??
            ?CoInitialize(NULL);??
            ???
            ???
            ?try{??
            ??IXMLDOMDocumentPtr?? pXMLDoc;??
            ??HRESULT?? hr?? =?? pXMLDoc.CreateInstance(__uuidof(DOMDocument));??
            ??
            ??pXMLDoc->async?? =?? false;?? //?? default?? -?? true,??
            ??
            ??
            ??hr?? =?? pXMLDoc->load("c:\\stock.xml");??
            ??
            ??if(hr!=VARIANT_TRUE)??
            ??{??
            ???IXMLDOMParseErrorPtr???? pError;??
            ???
            ???pError?? =?? pXMLDoc->parseError;??
            ???_bstr_t?? parseError?? =_bstr_t("At?? line?? ")+?? _bstr_t(pError->Getline())?? +?? _bstr_t("\n")+?? _bstr_t(pError->Getreason());??
            ???MessageBox(NULL,parseError,?? "Parse?? Error",MB_OK);??
            ???return?? 0;??
            ??}??
            ??
            ??CComPtr<IStream>?? pStream;??
            ??hr?? =?? CreateStreamOnHGlobal(NULL,?? true,?? &pStream);??
            ??hr?? =?? pXMLDoc->save(pStream.p);??
            ??
            ??LARGE_INTEGER?? pos;??
            ??pos.QuadPart?? =?? 0;??
            ??
            ??//the?? key?? is?? to?? reset?? the?? seek?? pointer??
            ??pStream->Seek((LARGE_INTEGER)pos,?? STREAM_SEEK_SET,?? NULL);??
            ??
            ??IXMLDOMDocumentPtr?? pXMLDocNew;??
            ??hr?? =?? pXMLDocNew.CreateInstance(__uuidof(DOMDocument));??
            ??pXMLDocNew->async?? =?? false;??
            ??hr?? =?? pXMLDocNew->load(pStream.p);??
            ??if(hr!=VARIANT_TRUE)??
            ??{??
            ???IXMLDOMParseErrorPtr???? pError;??
            ???
            ???pError?? =?? pXMLDocNew->parseError;??
            ???_bstr_t?? parseError?? =_bstr_t("At?? line?? ")+?? _bstr_t(pError->Getline())?? +?? _bstr_t("\n")+?? _bstr_t(pError->Getreason());??
            ???MessageBox(NULL,parseError,?? "Parse?? Error",MB_OK);??
            ???return?? 0;??
            ??}??
            ??
            ?//?MessageBox(NULL,(LPTSTR)pXMLDocNew->xml,?? "XML?? content",MB_OK);??

            ??IXMLDOMNodeListPtr nodeptr;
            ??pXMLDocNew->get_childNodes(&nodeptr);

            ??long nodesize = 0;
            ??nodeptr->get_length(&nodesize);

            ??IXMLDOMNodePtr xmlnode;

            ??nodeptr->get_item(0, &xmlnode);

            ??????? CComBSTR?? a;
            ??xmlnode->get_baseName(&a);
            ??
            ??USES_CONVERSION;
            ??printf("%s\n", W2T(a));
            ??
            ?}??
            ?catch(_com_error?? &e)??
            ?{??
            ??dump_com_error(e);??
            ?}??
            ?CoUninitialize();??
            ???
            ?return?? 0;??
            }??

            ?

            久久久久噜噜噜亚洲熟女综合| 久久亚洲中文字幕精品一区| 久久久久波多野结衣高潮| 亚洲欧美国产精品专区久久 | 久久久久亚洲精品日久生情| 伊人久久大香线蕉AV色婷婷色| 久久无码人妻一区二区三区午夜| 色婷婷久久综合中文久久蜜桃av| 婷婷久久综合九色综合98| 欧美久久久久久午夜精品| 久久亚洲精品成人AV| 久久精品国产亚洲5555| 中文字幕久久精品无码| 香蕉久久一区二区不卡无毒影院| 99久久做夜夜爱天天做精品| 国产精品一区二区久久精品| 亚洲女久久久噜噜噜熟女| 精品久久久无码中文字幕天天| 亚洲级αV无码毛片久久精品| 久久99久久成人免费播放| 久久夜色精品国产网站| 久久久久亚洲国产| 久久国产色av免费看| 欧美久久一区二区三区| 草草久久久无码国产专区| 亚洲午夜久久久久久久久久| 色欲综合久久躁天天躁| 狠狠色综合久久久久尤物| 久久精品人人做人人爽电影| 三上悠亚久久精品| 久久人爽人人爽人人片AV| 久久99精品国产麻豆宅宅| 久久久精品国产Sm最大网站| 国产呻吟久久久久久久92| 久久se精品一区二区影院| 97精品国产91久久久久久| 国产婷婷成人久久Av免费高清| 欧洲成人午夜精品无码区久久| 久久婷婷五月综合色奶水99啪 | 丁香久久婷婷国产午夜视频| 久久久青草久久久青草|