C语言加载xml文档
时间: 2023-07-09 07:17:35 浏览: 248
xml.zip_c语言 xml
5星 · 资源好评率100%
要加载XML文档,可以使用C语言中的libxml2库。以下是一个简单的示例代码,用于加载XML文档并打印出其中的元素内容:
```
#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
int main() {
xmlDocPtr doc;
xmlNodePtr root, node;
// 加载XML文档
doc = xmlReadFile("example.xml", NULL, 0);
if (doc == NULL) {
fprintf(stderr, "Failed to open XML document\n");
return 1;
}
// 获取XML文档的根节点
root = xmlDocGetRootElement(doc);
if (root == NULL) {
fprintf(stderr, "Empty XML document\n");
xmlFreeDoc(doc);
return 1;
}
// 遍历根节点下的所有子节点
for (node = root->children; node != NULL; node = node->next) {
if (node->type == XML_ELEMENT_NODE) {
// 打印元素名称和内容
printf("Element name: %s\n", node->name);
printf("Element content: %s\n", xmlNodeGetContent(node));
}
}
// 释放内存并关闭文件
xmlFreeDoc(doc);
xmlCleanupParser();
return 0;
}
```
其中,`xmlReadFile`函数用于加载XML文档,`xmlDocGetRootElement`函数用于获取根节点,`xmlNodeGetContent`函数用于获取节点的内容。遍历子节点时,需要判断节点类型是否为元素节点。在最后,需要调用`xmlFreeDoc`和`xmlCleanupParser`函数来释放内存和关闭文件。
阅读全文