• <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.¢% 閱讀(442) 評論(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;??
            }??

            ?

            色综合久久综精品| 国产精品欧美久久久久天天影视 | 久久99国产一区二区三区| 精产国品久久一二三产区区别 | 国产91久久综合| 亚洲精品美女久久久久99小说| 久久九九精品99国产精品| 亚洲精品乱码久久久久久蜜桃 | 狠狠色丁香婷婷综合久久来| 无码国内精品久久综合88| 久久久精品免费国产四虎| 日本精品久久久久影院日本| 国产精品美女久久久久AV福利 | 久久久国产精华液| 国产精品福利一区二区久久| 亚洲国产精品一区二区久久hs| 亚洲精品综合久久| 久久99国产精品一区二区| 亚洲欧美一区二区三区久久| 久久久久久亚洲精品无码| 精品国产一区二区三区久久蜜臀| 一本色道久久综合狠狠躁| 亚洲国产成人精品无码久久久久久综合| 久久精品一本到99热免费| 亚洲国产天堂久久久久久| 很黄很污的网站久久mimi色| 99久久99这里只有免费的精品| 午夜精品久久久久久| 久久精品这里只有精99品| 香蕉久久夜色精品国产小说| 91精品国产91热久久久久福利| 久久精品国产清高在天天线| 日日躁夜夜躁狠狠久久AV| 99久久综合狠狠综合久久止| 久久精品人人槡人妻人人玩AV | 久久91这里精品国产2020| 久久精品无码一区二区三区| www性久久久com| 久久久WWW成人免费精品| 久久精品国产亚洲AV不卡| 狠狠色丁香婷婷综合久久来来去|