【发布时间】:2012-05-16 13:28:18
【问题描述】:
<element1 type="type1" name="value1">
<start play="no"/>
<element2 aaa="AAA"/>
<element2 bbb="BBB"/>
<element3 ccc="CCC">
<element4/><!-- play="no"/>-->
</element3>
</element1>
我使用下面的代码来解析它:
int parse( const char *xml) {
printf("Entered\n");
xmlDoc *doc = NULL;
doc = xmlReadFile(xml, NULL, 0);
if (doc == NULL)
printf("Could not parse file\n");
else {
printf("Success\n");
xmlFreeDoc(doc);
}
xmlCleanupParser();
return 0;
}
但我收到以下错误:
Entered
I/O warning : failed to load external entity "<element1 type="type1" name="value1">
<start play="no"/>
<element2 aaa="AAA"/>
<element2 bbb="BBB"/>
<element3 ccc="CCC">
<element4/><!-- play="no"/>-->
</element3>
</element1>
"
Could not parse file
【问题讨论】:
-
这个
<!-- play="no"/>-->看起来很吓人。 -
doc = xmlReadFile(xml, NULL, 0);中的xml是什么?它是实际 XML 文本的文件名吗?
标签: c xml parsing xml-parsing libxml2