• <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>

            北緯91℃

            處男,畜牲一樣的男人;處男,被女人處理過的男人……
            posts - 9, comments - 12, trackbacks - 0, articles - 0
               :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            VC讀寫XML文件

            Posted on 2007-04-13 16:59 北緯91℃ 閱讀(10474) 評(píng)論(2)  編輯 收藏 引用 所屬分類: Win32 / MFC / Visual C++

            1、安裝MSXML 4.0 SP2。在VC6中建立一個(gè)基于Dialog的工程。如圖:

            XML.JPG

            在界面上放置3個(gè)編輯框、1個(gè)按鈕控件。其中屬性設(shè)置如下。
            編輯框:

            ID Category Variable Type Variable Name
            IDC_ID Value CString m_strId
            IDC_AUTHOR Value CString m_strAuthor
            IDC_TITLE Value CString m_strTitle
            按鈕:
            ID Caption
            IDC_GENERATE Generate
            IDC_LOAD Load

            2、在App類的InitInstance函數(shù)里面加入如下代碼:


            // Com口初始化
            AfxOleInit();


            3、在StdAfx.h中引入動(dòng)態(tài)鏈接庫 MSXML.DLL(C:\windows\system32\msxml4.dll)


            #import? < msxml4.dll >


            4、雙擊Generate按鈕,在消息處理函數(shù)中添加如下代碼:


            UpdateData(TRUE);
            MSXML2::IXMLDOMDocumentPtr?pDoc;?
            MSXML2::IXMLDOMElementPtr??xmlRoot?;?
            // 創(chuàng)建DOMDocument對(duì)象

            HRESULT?hr? = ?pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40));?
            if ( !
            SUCCEEDED(hr))?
            {??
            ?MessageBox(
            " 無法創(chuàng)建DOMDocument對(duì)象,請(qǐng)檢查是否安裝了MS?XML?Parser?運(yùn)行庫! "
            );?
            ?
            return
            ?;
            }
            ?
            //
            根節(jié)點(diǎn)的名稱為Book
            // 創(chuàng)建元素并添加到文檔中

            xmlRoot = pDoc -> createElement((_bstr_t) " Book " );
            // 設(shè)置屬性

            xmlRoot -> setAttribute( " id " ,( const ? char ? * )m_strId);
            pDoc
            ->
            appendChild(xmlRoot);
            MSXML2::IXMLDOMElementPtr?pNode;
            // 添加“author”元素

            pNode = pDoc -> createElement((_bstr_t) " Author " );
            pNode
            -> Puttext((_bstr_t)( const ? char ? *
            )m_strAuthor);
            xmlRoot
            ->
            appendChild(pNode);
            // 添加“Title”元素

            pNode = pDoc -> createElement( " Title " );
            pNode
            -> Puttext(( const ? char ? *
            )m_strTitle);
            xmlRoot
            ->
            appendChild(pNode);
            //
            保存到文件?
            // 如果不存在就建立,存在就覆蓋?

            pDoc -> save( " d:\\he.xml " );

            雙擊Load按鈕,在消息處理函數(shù)中添加如下代碼:

            MSXML2::IXMLDOMDocumentPtr?pDoc;
            HRESULT?hr;
            hr
            =
            pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40));
            if
            (FAILED(hr))
            {??
            ?MessageBox(
            " 無法創(chuàng)建DOMDocument對(duì)象,請(qǐng)檢查是否安裝了MS?XML?Parser?運(yùn)行庫! "
            );?
            ?
            return
            ?;
            }
            ?
            // 加載文件?

            pDoc -> load( " d:\\he.xml " );?
            MSXML2::IXMLDOMNodePtr??pNode;
            // 在樹中查找名為Book的節(jié)點(diǎn)," // "表示在任意一層查找?

            pNode = pDoc -> selectSingleNode( " //Book " );
            MSXML2::DOMNodeType?nodeType;?
            // 得到節(jié)點(diǎn)類型?

            pNode -> get_nodeType( & nodeType);?
            // 節(jié)點(diǎn)名稱?

            CString?strName;
            strName
            = ( char ? * )pNode ->
            GetnodeName();
            // 節(jié)點(diǎn)屬性,放在鏈表中?

            MSXML2::IXMLDOMNamedNodeMapPtr?pAttrMap = NULL;
            MSXML2::IXMLDOMNodePtr???pAttrItem;
            _variant_t?variantvalue;
            pNode
            -> get_attributes( &
            pAttrMap);
            long
            ?count;
            count
            = pAttrMap -> get_length( &
            count);
            pAttrMap
            -> get_item( 0 , &
            pAttrItem);
            // 取得節(jié)點(diǎn)的值

            pAttrItem -> get_nodeTypedValue( & variantvalue);
            m_strId
            = ( char ? *
            )(_bstr_t)variantvalue;
            UpdateData(FALSE);

            Feedback

            # re: VC讀寫XML文件[未登錄]  回復(fù)  更多評(píng)論   

            2007-11-19 12:06 by Tiger
            不錯(cuò),鼓勵(lì)

            # re: VC讀寫XML文件  回復(fù)  更多評(píng)論   

            2010-07-09 09:19 by vnking
            不錯(cuò),繼續(xù)鼓勵(lì)。
            中文字幕乱码久久午夜| 久久国产成人精品国产成人亚洲| 成人午夜精品久久久久久久小说| 久久综合国产乱子伦精品免费| 久久人人添人人爽添人人片牛牛| 亚洲人成无码久久电影网站| 青青青青久久精品国产h久久精品五福影院1421| 99久久精品影院老鸭窝| 欧美精品一本久久男人的天堂| .精品久久久麻豆国产精品 | 国产99久久九九精品无码| 国产精品一久久香蕉国产线看| av国内精品久久久久影院| 成人国内精品久久久久影院| 亚洲国产成人久久精品影视 | 91精品日韩人妻无码久久不卡| 伊人久久大香线蕉精品| 久久久久99精品成人片三人毛片| 久久综合亚洲色HEZYO国产| 久久精品青青草原伊人| 久久国产精品成人片免费| 青青草国产成人久久91网| 亚洲国产精品无码久久青草| 久久人爽人人爽人人片AV | 久久精品亚洲一区二区三区浴池| 久久久久AV综合网成人| 国产精品欧美亚洲韩国日本久久 | 中文字幕亚洲综合久久菠萝蜜| 亚洲中文字幕无码久久2020| 久久电影网一区| 久久久亚洲裙底偷窥综合| 伊人丁香狠狠色综合久久| 老男人久久青草av高清| 久久精品国产99国产精品澳门| 性做久久久久久久久老女人| 国产成年无码久久久久毛片| 亚洲第一永久AV网站久久精品男人的天堂AV | 久久电影网| 国产精品久久久久久| 国内精品伊人久久久久777| 93精91精品国产综合久久香蕉|