linux下xml安装和使用

来源:互联网 发布:android app启动优化 编辑:程序博客网 时间:2024/05/22 13:55

xml安装和使用

需要文件:mxml-2.7.tar usemxml.c test.xml

步骤:

1.mxml-2.7.tar拷到共享文件夹
2.linux进入共享文件夹
3.#sudo su
4.#cp mxml-2.7.tar.gz /home/
5.#tar -xvf mxml-2.7.tar.gz
6.#cd mxml-2.7
7.#./configure
8.make install
9.#cp /usr/local/lib/libmxml.* /lib
10.进入共享文件夹运行
11.#gcc usemxml.c -lmxml -lpthread
12../a.out

设计

//实例<?xml version="1.0" encoding="utf-8"?><data>        <node name="test" prog="1.sh"></node>        <node name="中文测试" prog="2.sh"></node>        <node name="a3" prog="3.sh"></node>        <node name="a4" prog="4.sh"></node>        <node name="a5" prog="5.sh"></node>        <node name="a6" prog="6.sh"></node>        <node name="a7" prog="7.sh"></node>        <node name="a8" prog="8.sh"></node></data>
//代码:#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include "mxml.h"//寻找节点void FindNode(void){    FILE *fp;    mxml_node_t *tree = NULL;    fp = fopen("test.xml", "r"); //打开文件    tree = mxmlLoadFile(NULL, fp, NULL);    fclose(fp);    mxml_node_t *node;    const char *name, *prog;    /* 使用中文 */    for (node = mxmlFindElement(tree, tree, "node", NULL, NULL, MXML_DESCEND);//第三个参数表示节点名,第四个关键字,第五个值                    node != NULL;                    node = mxmlFindElement(node, tree, "node", NULL, NULL, MXML_DESCEND))    {            name = mxmlElementGetAttr(node, "name");            prog = mxmlElementGetAttr(node, "prog");            printf("name=%s, prog=%s \n", name, prog);    }    mxmlDelete(tree);}//创建节点void CreatXml(void){    FILE *fp;    mxml_node_t *tree = NULL;    mxml_node_t *pointer = NULL;    mxml_node_t *node;    fp = fopen("new.xml", "w");    tree = mxmlNewXML("1.0");    pointer = mxmlNewElement(tree, "data");    node = mxmlNewElement(pointer, "node");    mxmlElementSetAttr(node, "name", "test1"); //基于一个节点新增节点    mxmlElementSetAttr(node, "prog", "aaa.sh");//设置节点元素和元素名    mxmlSaveFile(tree, fp, MXML_NO_CALLBACK);    fclose(fp);    mxmlDelete(tree);}int main(){    FindNode();    CreatXml();    return 0;}
0 0