XML之行

前端之家收集整理的这篇文章主要介绍了XML之行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近要用哈XML,就碰到了各种问题。

在MFC中使用XML没有其它中的那样方便,所以的找找需要的工具

具体好像有三种,不过轻量级的一种就是使用一个CMarkUp的类


具体就是可以使用这个类来操作自己需要完成的功能,这是个封装好的XML功能

1、生成

CString strID = _T("");
CString strPwd = _T("");
CMarkup xml;
xml.SetDoc("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
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");

2、查找
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");
}


3、修改
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,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");
}


简单的类的封装其实就是类的抽象加上各种操作的功能,所以还是好好的练好自己的基础。

原文链接:https://www.f2er.com/xml/298251.html

猜你在找的XML相关文章