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的形式来替换,实在不行就的自个写个缩进小工具了。