C语言简单获取xml信息
时间: 2023-09-04 08:11:48 浏览: 62
c语言读取xml文件
4星 · 用户满意度95%
要获取XML文档中的信息,可以使用C语言中的libxml2库。以下是一个简单的示例代码,用于获取XML文档中指定元素的内容:
```
#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
int main() {
xmlDocPtr doc;
xmlNodePtr root, node, target;
// 加载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) {
// 判断元素名称是否为目标元素
if (strcmp(node->name, "target_element") == 0) {
// 找到目标元素,获取其内容
target = node;
printf("Target element content: %s\n", xmlNodeGetContent(target));
}
}
}
// 释放内存并关闭文件
xmlFreeDoc(doc);
xmlCleanupParser();
return 0;
}
```
在遍历子节点时,判断元素名称是否为目标元素,如果是,则将该节点设置为目标节点,并使用`xmlNodeGetContent`函数获取其内容。注意,这里假设目标元素只出现一次,如果有多个目标元素,需要使用循环来获取其内容。
阅读全文