from http://blog.csdn.net/B_H_L/article/details/41659327
2014.12
1下载:http://www.msweet.org/downloads.php?L+Z3
2说明:Mini-XML是一个小型的开源的XML解析器,采用 C 语言开发。该解析器最大的特点就是小型、无须依赖其他类库,只需要 GCC编译器和
make 程序即可编译,支持 UTF-8/UTF-16 编码。
Mini-XML支持读取UTF-8和UTF-16和UTF-8编码的XML文件和字符串写。数据存储在链表树结构,保留XML数据的层次结构,并且没有预设的限制,可用内存维护任意元素名称,属性和属性值。
3编译 ./configure --enable-threads=no(使其不依赖于pthread)
make
(静态包:ar rv libmxml.a mxml-attr.o mxml-entity.o mxml-file.o mxml-get.o mxml-index.o mxml-node.o mxml-search.o mxml-set.o mxmldoc.o mxml-private.o mxml-string.o)
4用法
5000
FE-D0-18-00
#include
#include
#include
#include
int main()
{
FILE *fp;
mxml_node_t *tree,*node;
fp = fopen("debug_settings.xml", "r");
tree = mxmlLoadFile(NULL, fp,MXML_TEXT_CALLBACK);
fclose(fp);
mxml_node_t *id,*password;
node = mxmlFindElement(tree, tree, "note",NULL, NULL,MXML_DESCEND);
printf(" year:%s \n",mxmlElementGetAttr(node,"year"));
printf(" date:%s \n",mxmlElementGetAttr(node,"date"));
printf(" month:%s \n",mxmlElementGetAttr(node,"month"));
id = mxmlFindElement(node, tree, "id",NULL, NULL,MXML_DESCEND);
printf("[%s}\n",id->child->value.text.string);
password = mxmlFindElement(node, tree, "password",NULL, NULL,MXML_DESCEND);
printf("[%s]\n",password->child->value.text.string);
mxmlDelete(tree);
return 0 ;
}