XML相关操作
XML操作一 //----------UserInfo.xml--------------
xml.SetDoc("<?xmlversion="1.0"encoding="UTF-8"?>rn"); 2。浏览特定元素 BOOLbFind=true; //此时接点还是父接点 strTagName=xml.GetChildTagName(); } /********************这样也可以****************** while(xml.FindChildElem("UserID");) xml.IntoElem(); }*/ /**************这样也可以********************** BOOLbFind=true; while(xml.FindElem("UserID");) CStringstrTagName=_T(""); strTagName=xml.GetTagName(); TRACE("n---tagName:%s,strData); } //-------------结果---------- 3。修改 if(bLoadXml) CStringstrUserID=_T("");
strUserID=xml.GetData(); xml.SetData(CString("flypig")+strUserID); } } } 4。添加 4。1添在最后面(使用的是AddElem) if(bLoadXml) xml.ResetMainPos(); } //--------原来为------ <?xmlversion="1.0"encoding="UTF-8"?> //---------添加后为------------- 4。2加在最前面(使用InsertElem) if(bLoadXml) { xml.ResetMainPos(); xml.FindElem(); } //----原来为— //------修改后----- 5。删除 while(bFind) { bFind=xml.FindChildElem("UserID"); if(bFind) CStringstrData=_T(""); if(strData=="luo") { xml.RemoveChildElem(); } } } 6。查找 见第二点浏览。类似 上面的例子里面没有属性这些东西,下面的一个例子是有属性的 7。产生 xml.IntoElem(); for(inti=0;i<10;i++) srand(UINT(time(NULL)+i)); } xml.OutOfElem(); 8。查找 if(bLoad) CStringstrID; strID=xml.GetChildAttrib("UserID"); if(strID=="UserID00"&&strPwd=="UserPwd00") bFind=true; } } } if(bFind) TRACE("n----find------n"); TRACE("n----nofind------n"); 9。修改 if(bLoad) { CStringstrID; xml.ResetMainPos(); while(xml.FindChildElem("User")) { strID=xml.GetChildAttrib("UserID"); if(strID=="UserID00"&&strPwd=="UserPwd00") bFind=true; } } } if(bFind) TRACE("n----find------n"); TRACE("n----nofind------n"); XML操作二 (一)先讲一下XML中的物殊字符,手动填写时注意一下。 字符字符实体 (二)创建一个XML文档。 CMarkupxml;xml.AddElem("ORDER");xml.AddChildElem("ITEM");xml.IntoElem();xml.AddChildElem("SN","132487A-J");xml.AddChildElem("NAME","crankcasing");xml.AddChildElem("QTY","1");xml.Save("c:UserInfo.xml"); 效果如下: <ORDER><ITEM><SN>132487A-J</SN><NAME>crankcasing</NAME><QTY>1</QTY></ITEM></ORDER> 三浏览特定元素 CMarkupxml; xml.Load("UserInfo.xml");while(xml.FindChildElem("ITEM")) { xml.IntoElem(); xml.FindChildElem("SN"); CStringcsSN=xml.GetChildData(); xml.FindChildElem("QTY"); intnQty=atoi(xml.GetChildData()); xml.OutOfElem(); } 四)增加元素和属性 添加在最后面,使用的是AddElem;添加在最前面,使用InsertElem。 CMarkupxml; xml.Load("c:xml.AddElem("ORDER"); xml.IntoElem();//进入ORDER xml.AddElem("ITEM"); //进入ITEM xml.AddElem("SN","4238764-A");//添加元素 xml.AddElem("NAME",75)">bearing"xml.AddElem("QTY",75)">15"xml.OutOfElem();//退出ITEM xml.AddElem("SHIPMENT"); //进入SHIPMENT xml.AddElem("POC");//添加元素 xml.SetAttrib("type",75)">non-emergency");//添加属性 //进入POC JohnSmith");//添加元素 xml.AddElem("TEL","555-1234");//添加元素
</QTY></ITEM><ITEM><SN>4238764-A</SN><NAME>bearing</NAME><QTY>15</QTY></ITEM><SHIPMENT><POCtype="non-emergency"><NAME>JohnSmith</NAME><TEL>555-1234</TEL></POC></SHIPMENT></ORDER> 五)修改元素和属性 如将POC中的属性type改成:change; 元素TEL改成:123456789 if(xml.Load("UserInfo.xml")){CStringstrUserID=_T("");xml.ResetMainPos();if(xml.FindChildElem("SHIPMENT"))if(xml.FindChildElem("POC"))CStringstr_type=xml.GetAttrib("type");MessageBox(str_type);strUserID=xml.GetData();if(xml.FindChildElem("TEL"))xml.SetData("123456789");xml.Save("UserInfo.xml");return;}六)删除元素: 删除SN=132487A-J的项目。 if(xml.FindChildElem("ITEM"))CStringstr_sn;xml.FindChildElem("SN");str_sn=xml.GetChildData();if(str_sn=="132487A-J")xml.RemoveElem();} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Flex 图片自动播放(亦可手动控制)
- 怎样实现依赖注入功能之笔记
- ruby-on-rails – 使用Kaminari Pagination Gem进行简单搜索
- iphone – NSDictionary allKeys – 它总是返回相同的顺序吗
- vue组件父与子通信详解(一)
- flex图片剪切示例--预览、保存到本地、保存到服务器(附源码
- vb.net – 在访问共享成员时强制使用类名
- actionscript-3 – 如何在Actionscript 3 / Flex 3中嵌入图
- 友善之臂Mini2440开发板的存储系统及IO空间总结
- Oracle Cluster Health Monitor(CHM)简介