我新到 libxml2, 并以一个例子开始, 我不明白为什么我的样本代码不读一些标签。 我有我的 XML 文件 。
<ACCOUNTS>
<ACCOUNT NO="123">
<STATE>GA</STATE>
<NAME>John</NAME>
</ACCOUNT>
<ACCOUNT NO="123">
<STATE>GA</STATE>
<NAME>Burgess</NAME>
</ACCOUNT>
</ACCOUNTS>
这是我的样本代码:
void getReference (xmlDocPtr doc, xmlNodePtr cur) {
xmlChar *uri;
xmlChar *value;
cur = cur->xmlChildrenNode;
while (cur != NULL) {
if ((!xmlStrcmp(cur->name, (const xmlChar *)"ACCOUNT"))) {
uri = xmlGetProp(cur,(const xmlChar*) "NO");
printf("uri: %s
", uri);
xmlFree(uri);
}
cur = cur->next;
}
return;
}
当我调试我注意到它第一次进入 ACCOOUNT 标签,然后获得该值,然后转到下一个ACCOOUNT 标签,忽略国家标签和 NAME 标签。这个程序有什么错? 这是正确的方法吗?