C语言使用 libxml2 库创建 XML 文档缓冲区并保存到文件
以下是一个示例代码,演示如何使用 xmlOutputBufferCreateBuffer 和 xmlSaveToBuffer 来创建一个 XML 文档缓冲区并将其保存到文件中:
#include <stdio.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>
#include <libxml/xmlsave.h>
int main() {
// 创建 XML 文档对象
xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0");
xmlNodePtr root = xmlNewNode(NULL, BAD_CAST "root");
xmlDocSetRootElement(doc, root);
// 创建缓冲区
xmlBufferPtr buf = xmlOutputBufferCreateBuffer(NULL, NULL);
// 将 XML 文档保存到缓冲区
xmlSaveToBuffer(buf, (const char *)"UTF-8", doc, 0);
// 将缓冲区的内容输出到文件
FILE *fp = fopen("output.xml", "w");
fwrite(buf->content, buf->use, 1, fp);
fclose(fp);
// 释放资源
xmlFreeDoc(doc);
xmlBufferFree(buf);
return 0;
}
这个示例程序创建一个 XML 文档对象,并使用 xmlOutputBufferCreateBuffer 函数创建一个缓冲区。然后使用 xmlSaveToBuffer 函数将 XML 文档保存到缓冲区中。最后,将缓冲区的内容输出到文件中。在程序结束时,释放资源。
原文地址: https://www.cveoy.top/t/topic/n3qV 著作权归作者所有。请勿转载和采集!