gpt4 book ai didi

c - 解析 xml 值

转载 作者:行者123 更新时间:2023-11-30 19:24:05 24 4
gpt4 key购买 nike

我在 C 代码中按以下方式定义了一个简单的 xml 字符串:

char xmlstr[] = "<root><str1>Welcome</str1><str2>to</str2><str3>wonderland</str3></root>";

我想解析 xmlstr 以获取分配给 str1、str2、str3 标记的所有值。

我正在使用libxml2 library 。由于我在 xml 处理方面经验不足,因此无法获取所需标签的值。我尝试了一些来自网络的资源,但我结束了错误的输出。

最佳答案

使用 libxml2 库解析字符串将如下所示:

char xmlstr[] = ...;
char *str1, *str2, *str3;
xmlDocPtr doc = xmlReadDoc(BAD_CAST xmlstr, "http://someurl", NULL, 0);
xmlNodePtr root, child;

if(!doc)
{ /* error */ }

root = xmlDocGetRootElement(doc);

现在我们已经从 xml 字符串中解析出 DOM 结构,我们可以通过迭代 root 标记的所有子值来提取值:

for(child = root->children; child != NULL; child = child->next)
{
if(xmlStrcmp(child->name, BAD_CAST "str1") == 0)
{
str1 = (char *)xmlNodeGetContent(child);
}

/* repeat for str2 and str3 */
...
}

关于c - 解析 xml 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7632016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com