Chinaunix首页 | 论坛 | 博客
  • 博客访问: 194864
  • 博文数量: 90
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2017-08-23 16:48
文章分类

全部博文(90)

文章存档

2015年(1)

2011年(21)

2010年(59)

2009年(9)

我的朋友

分类: C/C++

2010-07-15 14:37:22

//----------UserInfo.xml--------------





luo

lin





1。生成UserInfo.xml

CMarkup xml;

xml.SetDoc("\r\n");

xml.AddElem("UserInfo");

xml.IntoElem();

xml.AddElem("UserID","luo");

xml.AddElem("UserID","lin");

xml.OutOfElem();

xml.Save("UserInfo.xml");



2。浏览特定元素

//----查看所有UserID----

CMarkup xml;

xml.Load("UserInfo.xml");

BOOL bFind = true;

xml.ResetMainPos();



while (xml.FindChildElem("UserID");)

{

    //此时接点还是父接点

      CString strTagName = _T("");

      CString strData = _T("");

      strTagName = xml.GetChildTagName();

      strData = xml.GetChildData();

      TRACE("\n---tagName:%s,Data:%s--\n",strTagName,strData);

}

    /********************这样也可以******************

    CMarkup xml;

    xml.Load("UserInfo.xml");

    BOOL bFind = true;

    xml.ResetMainPos();

   

    while (xml.FindChildElem("UserID");)

    {

              xml.IntoElem();

              CString strTagName = _T("");

              CString strData = _T("");

              strTagName = xml.GetTagName();

              strData = xml.GetData();

              TRACE("\n---tagName:%s,Data:%s--\n",strTagName,strData);

              xml.OutOfElem();


    }*/

    /**************这样也可以**********************

    CMarkup xml;

    xml.Load("UserInfo.xml");

    BOOL bFind = true;

    xml.ResetMainPos();

    xml.FindElem(); //UserInfo

    xml.IntoElem();

    while (xml.FindElem("UserID");)

    {

              CString strTagName = _T("");

              CString strData = _T("");

              strTagName = xml.GetTagName();

              strData = xml.GetData();

              TRACE("\n---tagName:%s,Data:%s--\n",strTagName,strData);

    }

    */



//-------------结果----------

---tagName:UserID,Data:luo--



---tagName:UserID,Data:lin—



3。修改

//--------把UserID为”luo”改为”flypigluo”-----------

BOOL bLoadXml = false;

CMarkup xml;

bLoadXml = xml.Load("UserInfo.xml");

    if (bLoadXml)

    {

        CString strUserID = _T("");

        xml.ResetMainPos();

        xml.FindElem();

        xml.IntoElem();

        while (xml.FindElem("UserID"))

        {

              strUserID = xml.GetData();

              if (strUserID=="luo")

              {

                  xml.SetData(CString("flypig")+strUserID);

                  xml.Save("UserInfo.xml");

                  break;

              }

        }

    }







4。添加

4。1   添在最后面(使用的是AddElem)

//加在最后面

    BOOL bLoadXml = false;

    CMarkup xml;

    bLoadXml = xml.Load("UserInfo.xml");

    if (bLoadXml)

    {

        xml.ResetMainPos();

        xml.FindElem();

        xml.IntoElem();

        xml.AddElem("UserID","luoluo");

        xml.OutOfElem();

        xml.Save("UserInfo.xml");

    }

//--------原来为------





luo

lin



//---------添加后为-------------





luo

lin

luoluo





4。2 加在最前面(使用InsertElem)

BOOL bLoadXml = false;

CMarkup xml;

bLoadXml = xml.Load("UserInfo.xml");

if (bLoadXml)

{

    xml.ResetMainPos();

    xml.FindElem();

    xml.IntoElem();

    xml.InsertElem("UserID","AddUserIDHead");

    xml.OutOfElem();

    xml.Save("UserInfo.xml");

}

//----原来为—





luo

lin



//------修改后-----





AddUserIDHead

luo

lin





5。删除

CMarkup xml;

xml.Load("UserInfo.xml");

BOOL bFind = true;

xml.ResetMainPos();    

while (bFind)

{

    bFind = xml.FindChildElem("UserID");

    if (bFind)

    {

        //此时接点还是父接点

        CString strData = _T("");

        strData = xml.GetChildData();

        if (strData=="luo")

        {

              xml.RemoveChildElem();

              xml.Save("UserInfo.xml");

              break;

        }

    }

}





6。查找

见第二点浏览。类似





上面的例子里面没有属性这些东西,下面的一个例子是有属性的

//UserInfo1.xml



























7。产生

CString strID = _T("");

    CString strPwd = _T("");

    CMarkup xml;

    xml.SetDoc("");

    xml.AddElem("UserInfo");

    xml.IntoElem();

    for (int i=0; i<10; i++)

    {

        //产生一个随机数,作为权限

        srand(UINT(time(NULL)+i));

        int nLevel = rand()%256;

        strID.Format("UserID%02d",i);

        strPwd.Format("UserPwd%02d",i);

        xml.AddElem("User");

        xml.AddAttrib("UserID",strID);

        xml.AddAttrib("UserPwd",strPwd);

        xml.AddAttrib("UserLevel",nLevel);

    }

    xml.OutOfElem();

    xml.Save("UserInfo1.xml");



8。查找

CMarkup xml;

BOOL bLoad = false;

BOOL bFind = false;

bLoad = xml.Load("UserInfo1.xml");

    if (bLoad)

    {

        CString strID;

        CString strPwd;

        xml.ResetMainPos();

        xml.FindElem();   //UserInfo

        while (xml.FindChildElem("User"))

        {

              strID = xml.GetChildAttrib("UserID");

              strPwd = xml.GetChildAttrib("UserPwd");

              TRACE("\n----id:%s,pwd:%s-------\n",strID,strPwd);

              if (strID=="UserID00"&&strPwd=="UserPwd00")

              {

                  bFind = true;

                  break;

              }

        }

    }

    if (bFind)

    {

        TRACE("\n---- find------\n");

    }

    else

    {

        TRACE("\n----no find------\n");

    }



9。修改

CMarkup xml;

    BOOL bLoad = false;

    BOOL bFind = false;

    bLoad = xml.Load("UserInfo1.xml");

    if (bLoad)

    {

        CString strID;

        CString strPwd;

        xml.ResetMainPos();

        xml.FindElem();   //UserInfo

        while (xml.FindChildElem("User"))

        {

              strID = xml.GetChildAttrib("UserID");

              strPwd = xml.GetChildAttrib("UserPwd");

              TRACE("\n----id:%s,pwd:%s-------\n",strID,strPwd);

              if (strID=="UserID00"&&strPwd=="UserPwd00")

              {

                  bFind = true;

                  xml.SetChildAttrib("UserID",strID+CString("Modify"));

                  xml.Save("UserInfo1.xml");

                  break;

              }

        }

    }

    if (bFind)

    {

        TRACE("\n---- find------\n");

    }

    else

    {

        TRACE("\n----no find------\n");

    }

阅读(3570) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~