libxml2解析xml文件
时间: 2023-07-11 19:23:02 浏览: 125
libxml2是一种C语言库,用于解析和操作XML文档。下面是一个简单的示例代码,演示如何使用libxml2解析XML文件。
```c
#include <stdio.h>
#include <libxml/parser.h>
int main(int argc, char** argv) {
xmlDocPtr doc;
xmlNodePtr root, node;
char* filename = "example.xml";
doc = xmlParseFile(filename);
if (doc == NULL) {
printf("Error parsing XML file %s\n", filename);
return 1;
}
root = xmlDocGetRootElement(doc);
for (node = root->children; node; node = node->next) {
if (node->type == XML_ELEMENT_NODE) {
printf("Element name: %s\n", node->name);
}
}
xmlFreeDoc(doc);
xmlCleanupParser();
return 0;
}
```
这个例子中,我们首先使用 `xmlParseFile()` 函数解析了一个名为 `example.xml` 的XML文件。然后使用 `xmlDocGetRootElement()` 函数获取XML文件的根节点。接下来,我们遍历所有子节点,并打印它们的名称。
需要注意的是,我们还需要在程序最后调用 `xmlFreeDoc()` 和 `xmlCleanupParser()` 函数来释放内存和清理libxml2库使用的资源。
阅读全文