如何獲得value
的child atribute
?例如xml:libxml如何獲得孩子屬性
<root>
<child>
<info>Lala</info>
</child>
</root>
我怎麼得到Lala
?我試試這個(但它不工作:())
void parsePackage (xmlDocPtr doc, xmlNodePtr cur) {
xmlChar *key;
xmlChar *uri;
cur = cur->xmlChildrenNode;
while (cur != NULL) {
if ((!xmlStrcmp(cur->name, (const xmlChar *)"child"))) {
key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
uri = xmlGetProp(cur, (const xmlChar *)"info");
printf("Info: %s\n", uri);
xmlFree(key);
}
cur = cur->next;
}
return;
}
void parseDoc() {
xmlDocPtr doc;
xmlNodePtr cur;
doc = xmlParseFile("test.xml");
if (doc == NULL) {
fprintf(stderr,"Document not parsed successfully. \n");
return;
}
cur = xmlDocGetRootElement(doc);
if (cur == NULL) {
fprintf(stderr,"empty document\n");
xmlFreeDoc(doc);
return;
}
if (xmlStrcmp(cur->name, (const xmlChar *) "root")) {
fprintf(stderr,"document of the wrong type, root node != package");
xmlFreeDoc(doc);
return;
}
parsePackage(doc, cur);
xmlFreeDoc(doc);
return;
}
當我開始這個代碼我得到不LaLa
,我得到null
。
對於編輯器(它看起來像你的文章主要是代碼;請添加一些更多的細節。)我沒有關於這種情況的更多細節...
是它的錯字; D – ternes3