如何将xml字符串 转成xml C语言
时间: 2023-10-08 18:06:32 浏览: 89
要将XML字符串转换为XML C语言,你需要使用一个XML解析库。其中一个流行的库是libxml2。下面是一个简单的示例,演示如何使用libxml2将XML字符串解析为XML C语言:
```c
#include <stdio.h>
#include <libxml/parser.h>
int main() {
const char* xml_str = "<root><node>Hello World!</node></root>";
xmlDocPtr doc = xmlParseMemory(xml_str, strlen(xml_str));
if (doc == NULL) {
fprintf(stderr, "Failed to parse XML string\n");
return 1;
}
xmlNodePtr root_node = xmlDocGetRootElement(doc);
if (root_node == NULL) {
fprintf(stderr, "Failed to get root element\n");
xmlFreeDoc(doc);
return 1;
}
for (xmlNodePtr node = root_node->children; node != NULL; node = node->next) {
if (node->type == XML_ELEMENT_NODE) {
printf("Node name: %s\n", node->name);
printf("Node value: %s\n", xmlNodeGetContent(node));
}
}
xmlFreeDoc(doc);
return 0;
}
```
在这个示例中,我们使用`xmlParseMemory()`函数将XML字符串解析为`xmlDocPtr`类型的文档对象。然后,我们使用`xmlDocGetRootElement()`函数获取根元素节点,并遍历其子节点以获取节点名称和值。最后,我们释放了文档对象的内存。
请注意,这只是一个简单的示例,你需要仔细阅读libxml2的文档以了解更多关于XML解析的细节。
阅读全文