[英]Parsing issue with libxml2: Namespace error
我在解析xml文件时遇到问题,libxml格式不正确,但已由应用程序所有者证明其有效。
我已经尝试将RFC阅读到XOP,但似乎与我的问题无关。 而且我不明白如何在我的代码中实现其他解决方案。
int main(int argc, char **argv) {
char *docname;
xmlDocPtr doc;
xmlNodePtr cur;
xmlChar *date;
if (argc < 2) {
printf("Commande: %s nom_du_fichier\n", argv[0]);
return EXIT_FAILURE;
}
docname = argv[1];
doc = xmlParseFile(docname);
cur = xmlDocGetRootElement(doc);
cur = cur->xmlChildrenNode;
while (cur != NULL) {
if ((!xmlStrcmp(cur->name, (const xmlChar *)"anpr"))) {
date = xmlGetProp(cur, "date");
printf("date: %s\n", date);
xmlFree(date);
}
cur = cur->next;
}
xmlFreeDoc(doc);
return EXIT_SUCCESS;
}
代码xml:
<msg><tag date="1556896362471" session="1702"><jpeg><xop:Include href="A"/></jpeg>/msg>
file.xml:1: namespace error : Namespace prefix xop on Include is not defined
这个标签没有用,但是我不能每次手动删除。
我在解析xml文件时遇到问题,libxml格式不正确,但已由应用程序所有者证明其有效。
如果XML文件与您的问题完全相同,则该应用程序的所有者是错误的。 任何符合标准的XML解析器都会在尝试解析该XML时遇到致命错误。
我已经尝试将RFC阅读到XOP,但似乎与我的问题无关。
您是正确的,XOP的详细信息与此较低级别的问题无关。
可能值得学习XML命名空间的基础知识,因此您可以更好地理解XML格式不正确的原因(特别是xmlns
属性)。 https://www.w3schools.com/xml/xml_namespaces.asp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.