VC解析XML--使用CMarkup类解析XML (一) 先讲一下XML中的物殊字符,手动填写时注意一下。 字符 字符实体 & &或&#38; ' '或' > >或> < <或&< " "或" (二) CMarkup类的源代码。 这是目前的最新版本; 取出里面的Markup.cpp和Markup.h,导入你的工程里面,CMarkup类就可以用了; (三) 创建一个XML文档。 CMarkup xml; xml.AddElem( "ORDER" ); xml.AddChildElem( "ITEM" ); xml.IntoElem(); xml.AddChildElem( "SN", "132487A-J" ); xml.AddChildElem( "NAME", "crank casing" ); xml.AddChildElem( "QTY", "1" ); xml.Save("c:\\UserInfo.xml"); 效果如下: 132487A-J crank casing 1 (四) 浏览特定元素CMarkup xml; xml.Load("UserInfo.xml");while ( xml.FindChildElem("ITEM") ) { xml.IntoElem(); xml.FindChildElem( "SN" ); CString csSN = xml.GetChildData(); xml.FindChildElem( "QTY" ); int nQty = atoi( xml.GetChildData() ); xml.OutOfElem(); }(五)增加元素和属性添加在最后面,使用的是AddElem;添加在最前面,使用InsertElem。CMarkup xml;xml.Load("c:\\UserInfo.xml"); xml.AddElem( "ORDER" ); xml.IntoElem(); // 进入 ORDER xml.AddElem( "ITEM" ); xml.IntoElem(); // 进入 ITEM xml.AddElem( "SN", "4238764-A" ); //添加元素 xml.AddElem( "NAME", "bearing" );//添加元素 xml.AddElem( "QTY", "15" );//添加元素 xml.OutOfElem(); // 退出 ITEM xml.AddElem( "SHIPMENT" ); xml.IntoElem(); // 进入 SHIPMENT xml.AddElem( "POC" );//添加元素 xml.SetAttrib( "type", "non-emergency");//添加属性 xml.IntoElem(); // 进入 POC xml.AddElem( "NAME", "John Smith");//添加元素 xml.AddElem( "TEL", "555-1234");//添加元素 xml.Save("c:\\UserInfo.xml"); 效果如下: 132487A-J crank casing 1 4238764-A bearing 15 John Smith 555-1234 (六) 修改元素和属性 如将POC中的属性type改成:change; 元素TEL改成:123456789 CMarkup xml; if (xml.Load("UserInfo.xml")) { CString strUserID = _T(""); xml.ResetMainPos(); if (xml.FindChildElem("SHIPMENT")) { xml.IntoElem(); if (xml.FindChildElem("POC")) { xml.IntoElem(); CString str_type=xml.GetAttrib("type"); MessageBox(str_type); xml.SetAttrib("type","change"); strUserID = xml.GetData(); if (xml.FindChildElem("TEL")) { xml.IntoElem(); xml.SetData("123456789"); xml.Save("UserInfo.xml"); return; } } } } (七)删除元素: 删除SN=132487A-J的项目。 CMarkup xml; if (xml.Load("UserInfo.xml")) { CString strUserID = _T(""); xml.ResetMainPos(); if (xml.FindChildElem("ITEM")) { xml.IntoElem(); CString str_sn; xml.FindChildElem("SN"); str_sn=xml.GetChildData(); if(str_sn=="132487A-J") { xml.RemoveElem(); xml.Save("UserInfo.xml"); } } }
2022-11-14 19:28:05 516KB cmarkup xml
1
解析、生成xml文件,并格式化xml。
2022-11-14 13:34:48 47KB CMarkup xml 缩进 格式化
1
CMarkup所有方法说明 各个函数的作用等 希望能够帮助你!!!
2022-11-14 13:17:37 16KB CMarkup
1
c++ 解析xml cmarkup
2022-10-12 01:51:10 45KB c++ 解析xml cmarkup
1
对于上次的CMarkUp使用的更新!功能更多!
2022-10-12 01:29:00 125KB CMarkUp xml
1
CMarkUp类是操作xml文件的非常方便的一个MFC封装类,此文非常详细的阐述了它的用法,非常实用。
2022-05-07 16:15:22 115KB CMarkUp
1
通过使用tinyxml、cmarkup分别介绍xml文件解析方法,附件也有完整代码可以解析所有不同情况下的节点值,附件也有完整的注释和动态解析代码。
2022-03-31 09:14:06 148KB 能力集、xml
1
VC解析XML文件的工具有很多,CMarkup, tinyXML,还有IBM的,MS的等等。据说tinyXML很好,可能字符集问题,我编译不了。所以就用CMarkup来解析,使用过后,觉得非常不错,使用起来很方便。CMarkup下载地址:http://www.firstobject.com/发现网上有方法很法,我就摘下来了 代码如下://———-UserInfo.xml————–    xml version=”1.0″ encoding=”UTF-8″ ?>           luo       lin
2022-03-09 15:22:02 64KB ar ark cstring
1
自己写的使用CMarkup类解析XML文件的例子,仅供参考。
2022-03-09 14:43:42 4.22MB XML CMarkup 解析 实例
1
一个MFC工具类包,包括: CMarkup 读写XML文件 CAdo 数据库操作类 CIniFile ini文件操作类 CLogFile 写日志文件类 CMyToolTipCtrl 自定义的提示消息类 CSymbolEdit 自定义编辑框类
2022-01-06 11:01:37 29KB XML ADO INI LOG
1