我有一个包含以下内容的 xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<vm_list>
<vm name="Win2k_SQL2000 (1)" type="VM">53370afc-7b57-360c-a7a1-236f40535064</vm>
<vm name="WinXP_PRO_SP3_en_x86 (1)" type="VM">89b6d54c-4015-119b-db11-bfecf42688e6</vm>
</vm_list>
这是我获取节点“vm”内容的代码的一部分
cur = xmlDocGetRootElement(doc);
while(cur ! = NULL){
puts("loop");
if (cur->type == XML_ELEMENT_NODE)
{
if (!(xmlStrcmp(cur->name, (const xmlChar *) "vm")))
{
key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
puts((char *) key);
xmlFree(key);
}
}
cur = cur->next;
}
但它给了我以下结果:
loop
loop
53370afc-7b57-360c-a7a1-236f40535064
loop
loop
89b6d54c-4015-119b-db11-bfecf42688e6
loop
当然我可以通过 xPath 检索它,但我想知道这段代码有什么问题..