• <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.¢%

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

            msxml 解析 xml

            Posted on 2009-04-27 00:12 S.l.e!ep.¢% 閱讀(441) 評論(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;??
            }??

            ?

            国产亚州精品女人久久久久久 | 久久精品无码免费不卡| 麻豆精品久久久一区二区| 国产毛片久久久久久国产毛片| 国产呻吟久久久久久久92| 三级韩国一区久久二区综合| 97精品伊人久久久大香线蕉| 996久久国产精品线观看| 久久久久99精品成人片| 久久香综合精品久久伊人| 精品无码久久久久久久久久| 午夜不卡久久精品无码免费| 久久精品国产99国产精品澳门| 亚洲精品无码专区久久同性男| 久久精品亚洲精品国产色婷| 欧美久久亚洲精品| 精品综合久久久久久97超人 | 午夜不卡久久精品无码免费| 94久久国产乱子伦精品免费| 亚洲AV无码一区东京热久久| 久久人人爽人爽人人爽av| 国产日产久久高清欧美一区| 亚洲va中文字幕无码久久不卡 | 亚洲精品国精品久久99热一| 国产精品狼人久久久久影院| 久久亚洲私人国产精品vA| 久久久国产精华液| 色偷偷91久久综合噜噜噜噜| 久久99久久成人免费播放| 一级做a爱片久久毛片| 久久99精品国产| 久久99精品久久久久婷婷| 久久www免费人成看片| 久久丫忘忧草产品| 狠狠色丁香久久婷婷综合蜜芽五月 | 国产精品99久久99久久久| 国内精品久久久久久久久电影网| 综合久久一区二区三区| 一本综合久久国产二区| 少妇无套内谢久久久久| 久久精品国产亚洲AV蜜臀色欲|