minixml2.9在vs2012与vs2010下的简单使用
来源:互联网 发布:vorx以太网数据光端机 编辑:程序博客网 时间:2024/06/07 10:19
首先下载minixml源码
http://www.msweet.org/
minixml中文文档
http://blog.csdn.net/bluesonic/article/details/3887143
使用vs2012或者vs2010打开vcnet文件夹下的mxml.sln
若版本较高,则进行升级
根据需要的配置(debug or release),生成对应的解决方案
拷贝生成的mxml1.dll,mxml1.lib以及原有的mxml.h
新建项目,将刚刚拷贝的文件添加到项目中
测试代码
#include "mxml.h"#include<string.h>#include<stdio.h>#include<stdlib.h>int main(){ FILE *fp; mxml_node_t *tree,*node;printf("Label1.prt\n");fp = fopen("Label1.prt","r");tree = mxmlLoadFile(NULL,fp,MXML_TEXT_CALLBACK);fclose(fp);printf("Loop traversal :\n");for(node = mxmlFindElement(tree,tree,NULL,NULL,NULL,MXML_DESCEND);node != NULL; node = mxmlFindElement(node,tree,NULL,NULL,NULL,MXML_DESCEND)){printf("Element name:%s\n",node->value);if(strcmp(node->value.opaque,"AreaSize") == 0){printf("Height:%s,Width=%s\n",mxmlElementGetAttr(node,"Height"),mxmlElementGetAttr(node,"Width"));}else if(strcmp(node->value.opaque,"ObjectList")==0){printf("count:%s\n",mxmlElementGetAttr(node,"Count"));}else if(strcmp(node->value.opaque,"zOrder")==0){printf("zOrder:%d\n",node->child->value.integer);}else if(strcmp(node->value.opaque,"Type")==0){printf("Type:%s\n",node->child->value.text.string);}else if(strcmp(node->value.opaque,"Start")==0){printf("X=%s,Y=%s,order=%s\n",mxmlElementGetAttr(node,"X"),mxmlElementGetAttr(node,"Y"),mxmlElementGetAttr(node,"order"));}else if(strcmp(node->value.opaque,"End")==0){printf("X=%s,Y=%s,order=%s\n",mxmlElementGetAttr(node,"X"),mxmlElementGetAttr(node,"Y"),mxmlElementGetAttr(node,"order"));}else if(strcmp(node->value.opaque,"Color")==0){printf("Color:%s\n",node->child->value.text.string);}else if(strcmp(node->value.opaque,"PenWidth")==0){printf("PenWidth:%s\n",node->child->value.text.string);}else if(strcmp(node->value.opaque,"FillColor")==0){printf("FillColor:%s\n",node->child->value.text.string);}else if(strcmp(node->value.opaque,"Name")==0){printf("Name:%s\n",node->child->value.text.string);}}printf("\nSearch traversal :\n");node = mxmlFindElement(tree,tree,"AreaSize",NULL,NULL,MXML_DESCEND);printf("AreaSize:\nHeight=%s,Width=%s\n",mxmlElementGetAttr(node,"Height"),mxmlElementGetAttr(node,"Width"));node = mxmlFindElement(tree,tree,"ObjectList",NULL,NULL,MXML_DESCEND);printf("ObjectList:Count:%s\n",mxmlElementGetAttr(node,"Count"));node = mxmlFindElement(tree,tree,"zOrder",NULL,NULL,MXML_DESCEND);printf("zOrder:%d\n",node->child->value.integer);node = mxmlFindElement(tree,tree,"Type",NULL,NULL,MXML_DESCEND);printf("Type:%s\n",node->child->value.text.string);node = mxmlFindElement(tree,tree,"Start",NULL,NULL,MXML_DESCEND);printf("Start:X=%s,Y=%s,order=%s\n",mxmlElementGetAttr(node,"X"),mxmlElementGetAttr(node,"Y"),mxmlElementGetAttr(node,"order"));node = mxmlFindElement(tree,tree,"End",NULL,NULL,MXML_DESCEND);printf("End:X=%s,Y=%s,order=%s\n",mxmlElementGetAttr(node,"X"),mxmlElementGetAttr(node,"Y"),mxmlElementGetAttr(node,"order"));node = mxmlFindElement(tree,tree,"Color",NULL,NULL,MXML_DESCEND);printf("Color:%s\n",node->child->value.text.string);node = mxmlFindElement(tree,tree,"PenWidth",NULL,NULL,MXML_DESCEND);printf("PenWidth=%s\n",node->child->value.text.string);node = mxmlFindElement(tree,tree,"FillColor",NULL,NULL,MXML_DESCEND);printf("FillColor:%s\n",node->child->value.text.string);node = mxmlFindElement(tree,tree,"Name",NULL,NULL,MXML_DESCEND);printf("Name:%s\n",node->child->value.text.string);system("pause"); return 0 ;}
以上为本人对于minixml的粗浅见解,错漏之处,敬请指出
本人测试minixml代码及英文指南,可自行下载,如果需要的话
http://download.csdn.net/detail/twinkling_z/9437519
0 0
- minixml2.9在vs2012与vs2010下的简单使用
- VS2012使用初体验 VS2012与VS2010的区别说明
- Vlfeat图像库在vs2010,vs2012下的配置
- Vlfeat图像库在vs2010,vs2012下的配置
- ODE在VS2012下的使用
- VS2010/VS2012等 下 使用 Python
- QWT 在VS2010下安装与使用
- vs2010、vs2012下gsl1.8的配置
- 在VS2010中打开VS2012的项目
- 在VS2010中打开VS2012的项目
- VS2010下QT的简单使用
- vs2012-vs2010使用stlport库的配置
- 使用VS2010打开VS2012/VS2013 的解决方案
- cocos2d-x xna在有vs2012和vs2010的情况下的环境部署
- log4net 在VS2010 NET4下的使用
- QT在VS2010下的使用配置
- VS2012或VS2010 在WIN7环境下…
- 在VS2010和VS2012下配置opencv之不同
- javascript undefined=null
- 无线高清会议室终端之Airplay
- 总结卡方检验(Chi-square test)和费舍尔精确检验(Fisher exact test)的区别
- 设计模式科普
- EMV规范(一)——背景介绍
- minixml2.9在vs2012与vs2010下的简单使用
- mysql忘记root密码如何修改
- Java多线程的通信2
- MySQL知识(七)——聚合函数、加密函数
- MySQL知识(八)——自定义函数
- Linux gcc使用
- 25个必须记住的SSH命令,你用过了吗?
- Python——类代码编写细节
- Android录制WAV文件