创建一个简单的XML文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a_studycx/article/details/82378754

操作系统是Ubuntu16,编辑器是VScore,编译器是gcc。

下面附上完整的代码:
 

#include <stdio.h>

#include <libxml/parser.h>

#include <libxml/tree.h>


int main()

{


//定义文档和节点指针

xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0");

xmlNodePtr root_node = xmlNewNode(NULL,BAD_CAST "information");


//设置根节点

xmlDocSetRootElement(doc,root_node);


//创建n个节点,设置其内容和属性,然后加入根结点

xmlNodePtr node1 = xmlNewNode(NULL,BAD_CAST "Info1");

xmlAddChild(root_node,node1);

xmlNewProp(node1,BAD_CAST "name",BAD_CAST "Alfred");

xmlNewProp(node1,BAD_CAST "number",BAD_CAST"8100");

xmlNewProp(node1,BAD_CAST "age",BAD_CAST"34");

xmlNewProp(node1,BAD_CAST "country",BAD_CAST"USA");


xmlNodePtr node2 = xmlNewNode(NULL,BAD_CAST "Info2");

xmlAddChild(root_node,node2);

xmlNewProp(node2,BAD_CAST "name",BAD_CAST "Gypsy");

xmlNewProp(node2,BAD_CAST "number",BAD_CAST"8134");

xmlNewProp(node2,BAD_CAST "age",BAD_CAST"27");

xmlNewProp(node2,BAD_CAST "country",BAD_CAST"UK");


xmlNodePtr node3 = xmlNewNode(NULL,BAD_CAST "Info3");

xmlAddChild(root_node,node3);

xmlNewProp(node3,BAD_CAST "name",BAD_CAST "Dats");

xmlNewProp(node3,BAD_CAST "number",BAD_CAST"709314");

xmlNewProp(node3,BAD_CAST "age",BAD_CAST"52");

xmlNewProp(node3,BAD_CAST "country",BAD_CAST"Mozambique");

xmlNodePtr node4 = xmlNewNode(NULL,BAD_CAST "Info4");

xmlAddChild(root_node,node4);

xmlNewProp(node4,BAD_CAST "name",BAD_CAST "Manhattan");

xmlNewProp(node4,BAD_CAST "number",BAD_CAST"9047967");

xmlNewProp(node4,BAD_CAST "age",BAD_CAST"36");

xmlNewProp(node4,BAD_CAST "country",BAD_CAST"Sudan");


xmlNodePtr node5 = xmlNewNode(NULL,BAD_CAST "Info5");

xmlAddChild(root_node,node5);

xmlNewProp(node5,BAD_CAST "name",BAD_CAST "Finlay");

xmlNewProp(node5,BAD_CAST "number",BAD_CAST"124679");

xmlNewProp(node5,BAD_CAST "age",BAD_CAST"24");

xmlNewProp(node5,BAD_CAST "country",BAD_CAST"USA");


xmlNodePtr node6 = xmlNewNode(NULL,BAD_CAST "Info6");

xmlAddChild(root_node,node6);

xmlNewProp(node6,BAD_CAST "name",BAD_CAST "Yedda");

xmlNewProp(node6,BAD_CAST "number",BAD_CAST"8098");

xmlNewProp(node6,BAD_CAST "age",BAD_CAST"31");

xmlNewProp(node6,BAD_CAST "country",BAD_CAST"Dubai");

xmlNodePtr node7 = xmlNewNode(NULL,BAD_CAST "Info7");

xmlAddChild(root_node,node7);

xmlNewProp(node7,BAD_CAST "name",BAD_CAST "Akashi");

xmlNewProp(node7,BAD_CAST "number",BAD_CAST"34501");

xmlNewProp(node7,BAD_CAST "age",BAD_CAST"41");

xmlNewProp(node7,BAD_CAST "country",BAD_CAST"Japan");

xmlNodePtr node8 = xmlNewNode(NULL,BAD_CAST "Info8");

xmlAddChild(root_node,node8);

xmlNewProp(node8,BAD_CAST "name",BAD_CAST "Tatum");

xmlNewProp(node8,BAD_CAST "number",BAD_CAST"9034561");

xmlNewProp(node8,BAD_CAST "age",BAD_CAST"29");

xmlNewProp(node8,BAD_CAST "country",BAD_CAST"UK");

xmlNodePtr node9 = xmlNewNode(NULL,BAD_CAST "Info9");

xmlAddChild(root_node,node9);

xmlNewProp(node9,BAD_CAST "name",BAD_CAST "Will");

xmlNewProp(node9,BAD_CAST "number",BAD_CAST"589620");

xmlNewProp(node9,BAD_CAST "age",BAD_CAST"37");

xmlNewProp(node9,BAD_CAST "country",BAD_CAST"China");

//存储xml文档

int nRel = xmlSaveFile("CreateXmlInfo.xml",doc);

if (nRel != -1)

{

printf("一个xml文档被创建,写入%d个字节\n", nRel);

}


//释放文档内节点动态申请的内存

xmlFreeDoc(doc);


return 0;


}

猜你喜欢

转载自blog.csdn.net/a_studycx/article/details/82378754