c语言实现xml写入
时间: 2024-10-25 11:13:40 浏览: 23
在C语言中,直接操作XML文件通常不是首选的方式,因为C语言的标准库并不包含处理XML的功能。然而,你可以通过第三方库如`libxml2`或者`expat`来完成XML的读写任务。以下是使用`libxml2`库的一个简单示例,展示如何创建一个新的XML文档并添加一些元素:
```c
#include <stdio.h>
#include <libxml/parse.h>
#include <libxml/tree.h>
void create_xml_node(xmlDocPtr doc, const char *tag_name, const char *content) {
xmlNodePtr node = xmlNewNode(NULL, (const xmlChar *) tag_name);
if (node != NULL) {
xmlNewProp(node, (const xmlChar *) "content", (const xmlChar *) content);
xmlDocAddChild(doc, node);
}
}
int main() {
xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0");
if (doc == NULL) {
printf("Failed to create XML document.\n");
return 1;
}
// 创建根节点
xmlNodePtr root = xmlDocGetRootElement(doc);
if (root == NULL) {
xmlFreeDoc(doc);
printf("Failed to create root element.\n");
return 1;
}
// 添加子节点
create_xml_node(doc, BAD_CAST "item", BAD_CAST "Hello, World!");
// 将文档写入文件
xmlSaveFile((FILE *) "output.xml", doc);
// 清理
xmlFreeDoc(doc);
return 0;
}
```
在这个例子中,我们首先创建了一个新的XML文档,并为其设置了版本信息。然后,我们在根节点下创建了一个名为"item"的节点,并设置了其内容为"Hello, World!"。最后,我们将整个文档保存到名为"output.xml"的文件。
阅读全文