symbian解析XML学习之路

来源:互联网 发布:js iframe 跨域 编辑:程序博客网 时间:2024/06/10 22:15

 先介绍下已经熟悉或者掌握的:

     熟悉C++编程,对XML文件有一定理解,但是对DTD和XSD不熟悉,使用过carbide.c 在上面对symbian模拟器实现过简单游戏

    知道了cmarkup 是个类,用来在symbian中对xml进行解析的。

拿我对symbian解析XML的理解就是

     在以symbian为操作系统,在carbide.c上面书写代码使用C++,通过调用cmarkup类的成员函数来实现对外部XML文件的解析,读取里面的数据,其中XML文件的数据可能包括根结点,子节点, 这有点像是C++中的类的定义和声明。

   在对XML解析过程中通过调用CMarkUp 类的一个对象xml,来调用CMarkUp的成员函数来对XML文件进行读取和解析.

其中包括:

xml.Load("UserInfo.xml"); 用来进行加载读取xml文件

xml.SetDoc("<?xml version=/"1.0/" encoding=/"UTF-8/"?>/r/n"); 设置XML版本信息?
xml.AddElem("UserInfo"); 增加元素
xml.IntoElem();  进入到元素内部?
xml.AddElem("UserID","luo");
xml.AddElem("UserID","lin");
xml.OutOfElem();  退出元素?

xml.Load("UserInfo.xml"); 加载XML文件
xml.GetChildTagName();
xml.GetChildData();
xml.GetChildData()  获取子节点数据;
xml.RemoveChildElem();  删除子节点
xml.ResetMainPos(); 重设???
xml.FindElem(); //UserInfo 查找元素

xml.FindChildElem("User"))  通过用户名查询子节点元素

xml.GetChildAttrib("UserPwd");  获取子节点的属性
xml.SetChildAttrib("UserID",strID+CString("Modify"))  设置属性;
xml.Save("UserInfo1.xml"); 保存修改后的XML

 

 

 这些只是其中一部分的成员函数(他们截取与一实例代码,代码稍后附上)

 

symbian对XML的解析就是通过这些函数的功能来实现。

但是这些函数的书写是有C++来写,可是在symbian中它自己也定义了一套命名规则,不知道这两个规则是否冲突,或者是C++写的cmarkup能否在symbian中顺利运行? 这个我还不太确定。应该没问题吧,要是不行吧C++写的cmarkup 修改成适应symbian规则的代码那工作量就太大了

 

原创粉丝点击