如何获得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