VC下XML解析类 CXMLParse 指南

说明

CXMLParse类最初版本来自于codeproject.com

http://download.csdn.net/source/534628

在多年的使用过程中,做了一些自己的升级,

包括:

1.修改了一些原作者的bug

2.添加了对中文解析的支持

3.去除了对于mfc的依赖,出口改为STL C++  

常用接口函数

1.bool Load( const char * szFileName ); 从xml文件加载XML文档内容

2.bool Save( const char * szFileName ); 存档

3.AddElem 添加节点

4.AddChildElem 添加子节点

5. AddAttrib 添加节点属性

6. AddChildAttrib 添加子节点属性

7.IntoElem 进入子节点

8.OutOfElem 从子节点跳出

范例

1.文档载入与保存

CXMLParse xml;

xml.Load("C://demo.xml");

xml.Save("C://export.xml");

2.XML文档创建

CXMLParse xml;

xml.AddElem("Demo");

xml.AddChildElem("Child");

xml.AddChildAttrib("Name","Nieo");

xml.AddChildAttrib("Sex",1);

形成的XML内容为

<Demo><Child Name="Nieo" Sex="1"/></Demo>

3.多层XML文档创建

CXMLParse xml;

xml.AddElem("Demo");

xml.AddChildElem("Root");

xml.IntoElem();

xml.AddChildElem("Child");

xml.AddChildAttrib("Name","Nieo");

xml.AddChildElem("Child");

xml.AddChildAttrib("Name","Simen")

xml.OutofElem();

形成的XML内容为

<Demo><Root><Child Name="Nieo"/><Child Name="Simen"/></Root></Demo>

4.XML文档解析以如下文档为例

<Html>

<Header><meta name="author" content="Csdn" /> </Header>

<Body><Nieo Sex="1" Nickname="NieoDing"/></Body></Html>

要查找到Nieo的Nickname

CXMLParse xml;

xml.Load(.....);

xml.FindChildElem("Body");

xml.IntoElem();

if(xml.FindChildElem("Nieo"))

{    

string nickname = xml.GetChildAttrib("NickName")

}

5.std::string与CXMLParse的交互 

CXMLParse -> std::string

CXMLParse xml;

.........

std::string doc = xml.GetDoc(); 

std::string -> CXMLParse

std::string doc = "<body>.....</body>";

CXMLParse xml(doc.c_str());


版权声明:本文为IamNieo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。