真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

CMarkup類操作Xml的示例分析-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)CMarkup類操作Xml的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)主要業(yè)務(wù)有網(wǎng)站營銷策劃、成都做網(wǎng)站、網(wǎng)站設(shè)計、微信公眾號開發(fā)、成都小程序開發(fā)、H5技術(shù)、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、成都全網(wǎng)營銷資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。 

一、下載Markup.cpp 和 Markup.h

二、將此兩個文件放置于工程目錄下

三、在需要用到CMarkup的地方 #include "Markup.h"

當(dāng)然VC中還需要配置一下環(huán)境

在VC6.0下:

a.在Markup.cpp的頂端加上 #include"stdafx.h" 或者

b.關(guān)閉Markup.cpp的預(yù)編譯頭設(shè)置,具體方法如下:

Project->Setting  彈出ProjectSetting對話框,在左邊的文件樹下選擇Markup.cpp,然后在 "Settings for" 下拉框下選擇 "All Configurations",選擇 C/C++標(biāo)簽頁,

接著在Category下拉框下選中 "Precompiled Headers"選項,選中下面的"Not Using Precompiled Headers." 單選按鈕即可

CMarkup類操作Xml的示例分析

CMarkup的基本使用:

例如要讀取如下UserInfos.xml的內(nèi)容

   
   
    
   WangYao   
   25   
    
    
   Hisin   
   27   
    
 

源代碼如下:

CMarkup xml;  
bool    flag;  
  
//加載Xml文件  
flag = xml.Load("d:\\UserInfos.xml");  
if (!flag)  
{  
    AfxMessageBox(TEXT("加載d:\\UserInfos.xml失敗,請檢查"));  
    return;  
}  
  
//定位到Root Elem  
xml.ResetPos();  
flag = xml.FindElem("UserInfos");  //Root Elem為  
if (!flag)  
{  
    return;  
}  
  
xml.IntoElem();   //進入根節(jié)點  
while(xml.FindElem(TEXT("UserInfo")))  
{  
    xml.IntoElem();   //進入  
  
    //獲取name節(jié)點數(shù)據(jù)  
    flag = xml.FindElem(TEXT("name"));  
    if (flag)  
    {  
        CString cstrName;  
        cstrName = xml.GetData();  
        AfxMessageBox(cstrName);  
    }  
  
    //獲取age節(jié)點數(shù)據(jù)  
    xml.ResetMainPos();   //保證不管name節(jié)點和age節(jié)點的順序如何,都能找到age節(jié)點  
    flag = xml.FindElem(TEXT("age"));  
    if (flag)  
    {  
        CString cstrAge;  
        cstrAge = xml.GetData();  
        AfxMessageBox(cstrAge);  
    }  
  
    xml.OutOfElem();  //跳出  
}  
xml.OutOfElem();  //跳出根節(jié)點

當(dāng)然實現(xiàn)同樣的功能也可以不進入UserInfo節(jié)點,源碼如下,請仔細對比

xml.IntoElem();   //進入根節(jié)點  
while(xml.FindElem(TEXT("UserInfo")))  
{  
    //獲取name子節(jié)點數(shù)據(jù)  
    flag = xml.FindChildElem(TEXT("name"));  
    if (flag)  
    {  
        CString cstrName;  
        cstrName = xml.GetChildData();  
        AfxMessageBox(cstrName);  
    }  
  
    //獲取age子節(jié)點數(shù)據(jù)  
    xml.ResetChildPos();   //保證不管name子節(jié)點和age子節(jié)點的順序如何,都能找到age子節(jié)點  
    flag = xml.FindChildElem(TEXT("age"));  
    if (flag)  
    {  
        CString cstrAge;  
        cstrAge = xml.GetChildData();  
        AfxMessageBox(cstrAge);  
    }  
}  
xml.OutOfElem();  //跳出根節(jié)點

Tips:

1.IntoElem與OutOfElem方法應(yīng)成對使用

2.關(guān)于重置xml的Pos的函數(shù)

ResetPosResets the current position to the start of the document
ResetMainPosResets the current main position to before the first sibling
ResetChildPosResets the current child position to before the first child

3.SavePos 與 RestorePos 復(fù)原xml Pos

SavePosSaves the current position with an optional string name using a hash map
RestorePosGoes to the position saved with SavePos

比如:

...
xml.SavePos(Text("abc"));
OpXml(xml);  //該函數(shù)可能會改變xml的Pos,則可以利用SavePos與RestorePos復(fù)原該函數(shù)執(zhí)行前xml的Pos
xml.RestorePos(Text("abc"));
...

感謝各位的閱讀!關(guān)于“CMarkup類操作Xml的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!


新聞標(biāo)題:CMarkup類操作Xml的示例分析-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://weahome.cn/article/gcehh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部