C语言如何将符合xml字符串转成xml文件 举例
时间: 2023-10-21 13:07:19 浏览: 190
在C语言中,可以使用libxml2库来将符合XML格式的字符串转换为XML文件。以下是一个简单的示例:
```c
#include <stdio.h>
#include <libxml/parser.h>
int main() {
const char* xmlString = "<root><element>data</element></root>";
xmlDocPtr doc = xmlReadMemory(xmlString, strlen(xmlString), "noname.xml", NULL, 0);
if (doc == NULL) {
fprintf(stderr, "Failed to parse XML string\n");
return 1;
}
xmlSaveFormatFileEnc("output.xml", doc, "UTF-8", 1);
xmlFreeDoc(doc);
xmlCleanupParser();
return 0;
}
```
在这个示例中,我们首先定义了一个 XML 字符串 `xmlString`,然后使用 `xmlReadMemory()` 函数将其解析为 `xmlDocPtr` 类型的文档对象。如果解析失败,我们会输出错误信息并退出程序。如果解析成功,我们使用 `xmlSaveFormatFileEnc()` 函数将文档对象保存为名为 `output.xml` 的 XML 文件,并设置编码为 UTF-8。最后,我们释放文档对象所占用的内存,并清理 libxml2 库中使用的资源。
需要注意的是,使用 libxml2 库需要安装相应的开发包。在 Ubuntu 系统中,可以通过以下命令安装 libxml2 开发包:
```bash
sudo apt-get install libxml2-dev
```
阅读全文