【发布时间】:2018-11-01 06:01:34
【问题描述】:
我正在尝试使用 libxml2 的函数 xmlNodeGetContent 来访问 xml 文件中的内容,但由于某种原因,无法读取自动关闭选项卡中的内容。
void parseRow (xmlDocPtr doc, xmlNodePtr cur) {
xmlChar *key;
cur = cur-> xmlChildrenNode;
while (cur != NULL) {
if ((!xmlStrcmp(cur->name, (const xmlChar *)"row"))) {
key = xmlNodeGetContent( cur->children );
printf("keyword: %s\n", (char*)key);
xmlFree(key);
}
cur = cur -> next;
}
return;
}
我正在使用这个带有两种类型选项卡的示例 xml 文件,并且可以读取第一行选项卡,而第二行返回 (null);
<?xml version="1.0"?>
<story>
<storyinfo>
<author>John Fleck</author>
<datewritten>June 2, 2002</datewritten>
<row> Id="1" UserId="1" </row>
<row Id="1" UserId="1" />
<keyword>Id="hello"</keyword>
</storyinfo>
</story>
【问题讨论】:
-
我认为你的意思是“标签”而不是“标签”和“空”而不是“自动关闭”。实际上,您指的是元素。
标签: c xml xml-parsing libxml2