libxml2库如何获取指定节点的内容例子
时间: 2024-05-09 16:18:08 浏览: 10
一个使用libxml2库获取指定节点内容的例子如下:
```
#include <stdio.h>
#include <stdlib.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
int main() {
// 创建xml文档对象
xmlDocPtr doc = xmlNewDoc(BAD_CAST"1.0");
// 创建根节点对象
xmlNodePtr root = xmlNewNode(NULL, BAD_CAST"root");
// 将根节点添加到xml文档中
xmlDocSetRootElement(doc, root);
// 创建子节点
xmlNodePtr node1 = xmlNewNode(NULL, BAD_CAST"node1");
xmlNodePtr node2 = xmlNewNode(NULL, BAD_CAST"node2");
xmlNodePtr node3 = xmlNewNode(NULL, BAD_CAST"node3");
// 将子节点添加到根节点下
xmlAddChild(root, node1);
xmlAddChild(root, node2);
xmlAddChild(root, node3);
// 设置节点内容
xmlNodeSetContent(node1, BAD_CAST"content1");
xmlNodeSetContent(node2, BAD_CAST"content2");
xmlNodeSetContent(node3, BAD_CAST"content3");
// 获取指定节点的内容
xmlNodePtr targetNode = xmlFirstElementChild(root);
char* content = (char*)xmlNodeGetContent(targetNode);
printf("指定节点的内容为:%s\n", content); // 输出:指定节点的内容为:content1
// 释放资源
xmlFreeDoc(doc);
xmlCleanupParser();
return 0;
}
```
希望对您有帮助!