私は 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\n", uri);
xmlFree(uri);
}
cur = cur->next;
}
return;
}
デバッグすると、初めて ACCOUNT タグに移動して値を取得し、STATE タグと NAME タグを無視して次の ACCOUNT タグに移動することに気付きました。このプログラムの何が問題で、これは正しいアプローチですか?