Cmarkup 使用总结 xml解析

MSXML用起来感觉和tinyxml差不多,在别人的介绍下开始接触了markup;发现用起来超级简单,上手及其快,而且关键是效率也不错,以至于现在tinyxml也忘了差不多了。不过不管怎样,这只是一种工具,相信今后还会有更多更好的工具出来。

1、加载xml

Cmarkup.Load(str);

2、查找元素(节点)只要记住 Cmarkup.FindElem(str);就OK了;


3、进/出入里面一层  Cmarkup.IntoElem() 、Cmarkup.OutofElem().

当然为了简化 直接使用 一个帮助类来自动完成上述动作。


4、找到节点后获取属性值就可以用 CMarkup.GetAttrib(str, value);

需要转化其他的类型的后去字符串值后自行转化就可以了。


一般的解析用到上面的就oK了,是不是很简单。


1.1 创建xml

CMarkup.SetDoc(str);

CMarkup xml;

xml.SetDoc("<?xml  version="xxx"   encoding="UTF-8" ?> \r\n");

xml.AddElem(str);...

当然这个可以仅仅是一个xml片段

xml.SetDoc("<Node name=\"123\" value = \"123\">");


1.2 增加节点 Cmarkup.AddElem(str)

xml.AddAttrib(str, vale);

xml.SetAttrib(str, val);


1.3 增加片段 xml片段

xml.AddSubDoc(str) ;


1.4 获取xml片段

xml.GetDoc()  ///< 获取全部xml

xml.GetSubDoc() ///< 获取当前节点的xml

xml.GetElemContent(); ///< 获取当前节点的xml;这个和getsubdoc有细微的差别,我实在用 xml.AddSubDoc(xml2.GetSubDoc()) 和xml.AddSubDoc(xml2.GetElemContent());

的时候有区别,


2、很多人可能会问到对其问题,很遗憾 cmarkup中添加节点时候没有进行缩进 对齐(txt),需要用其他工具以xml打开才有对其效果。

不过简单的可以用增加xml的形式来替换,实在不行就的自个写个缩进小工具了。

////////////////////////////////////////

你可能感兴趣的:(xml,使用,CMarkup)