MINIXML使用

<?xml version="1.0" encoding="utf-8"?><data><node>val1</node><node>value</node><node>val3</node><group><node>val4</node><node>val5</node><node>val6</node></group><node>val7</node><node>val8</node></data>

#include <mxml.h>
int main()
{

    mxml_node_t *tree;    /* <?xml ... ?> */
    mxml_node_t *data;   /* <data> */
    mxml_node_t *node;   /* <node> */
    mxml_node_t *group;  /* <group> */
mxml_type_t type;
int white = 1;
char * p = NULL;
    FILE *fp;

    fp = fopen("filename.xml", "r+");
    tree = mxmlLoadFile(NULL, fp,
                        MXML_TEXT_CALLBACK);

printf("tree = %p\n", tree);
    data = mxmlFindElement(tree, tree, "data",
                           NULL, NULL,
                           MXML_DESCEND);

printf("data = %p\n", node);

node = mxmlFindElement(data, tree, "node",
                           NULL, NULL,
                           MXML_DESCEND);
printf("node = %p\n", node);
p = mxmlGetText(node, &white);
printf("p = %s\n", p);

node = mxmlFindElement(node, tree, "node",
                           NULL, NULL,
                           MXML_DESCEND);
printf("node = %p\n", node);
p = mxmlGetText(node, &white);
printf("p = %s\n", p);

int ret = mxmlSetText(node, white, "value");
printf("ret = %d\n", ret);
p = mxmlGetText(node, &white);
printf("p = %s\n", p);                     
fseek ( fp , 0 , SEEK_SET );
mxmlSaveFile(tree, fp, MXML_NO_CALLBACK);
mxmlDelete(tree);
tree = NULL;
fclose(fp);
return 0;
}

 

增加一个整型数据

#include <mxml.h>

void main()
{
    mxml_node_t *xml;    /* <?xml ... ?> */
    mxml_node_t *data;   /* <data> */
    mxml_node_t *node;   /* <node> */
    mxml_node_t *group;  /* <group> */

    xml = mxmlNewXML("1.0");

    data = mxmlNewElement(xml, "data");

        node = mxmlNewElement(data, "node");
        mxmlNewText(node, 0, "val1");
       
        node = mxmlNewElement(data, "node");
        mxmlNewInteger(node, 5);
        //
        node = mxmlNewElement(data, "node");
        mxmlNewText(node, 0, "val2");
        node = mxmlNewElement(data, "node");
        mxmlNewText(node, 0, "val3");

        group = mxmlNewElement(data, "group");

            node = mxmlNewElement(group, "node");
            mxmlNewText(node, 0, "val4");
            node = mxmlNewElement(group, "node");
            mxmlNewText(node, 0, "val5");
            node = mxmlNewElement(group, "node");
            mxmlNewText(node, 0, "val6");

        node = mxmlNewElement(data, "node");
        mxmlNewText(node, 0, "val7");
        node = mxmlNewElement(data, "node");
        mxmlNewText(node, 0, "val8");
    FILE *fp;
    //mxml_node_t *tree;

    fp = fopen("filename.xml", "w");
    mxmlSaveFile(xml, fp, MXML_NO_CALLBACK);
    fclose(fp);

return ;
}

gcc -o xml xml.c -lmxl -lpthread

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值