我正在使用 libxml2 库编写一些 C 代码来读取 XML 文件。为此目的似乎有两个不同的函数,xmlParseFile和xmlReadFile,而且我不确定它们之间的区别(除了 xmlReadFile() 需要一些额外参数的事实之外)。
libxml2 网站上的示例有时使用 xmlParseFile,有些使用 xmlReadFile。
那么什么时候应该使用 xmlParseFile,什么时候应该使用 xmlReadFile?我找不到任何可以解释这一点的东西。
我正在使用 libxml2 库编写一些 C 代码来读取 XML 文件。为此目的似乎有两个不同的函数,xmlParseFile和xmlReadFile,而且我不确定它们之间的区别(除了 xmlReadFile() 需要一些额外参数的事实之外)。
libxml2 网站上的示例有时使用 xmlParseFile,有些使用 xmlReadFile。
那么什么时候应该使用 xmlParseFile,什么时候应该使用 xmlReadFile?我找不到任何可以解释这一点的东西。
xmlReadFile() 功能更强大,因为它能够采用 URL 而不是本地文件路径,并允许指定更多选项(http://xmlsoft.org/html/libxml-parser.html#xmlParserOption),所以我倾向于使用它而不是 xmlParseFile()。也就是说,如果您正在解析本地 XML 文件而不使用解析器选项,那么您可以使用 xmlParseFile()。
xmlReadFile() 是用于解析 XML 的更强大和最新版本。我也用它来代替 xmlParseFile()。
我有 xml 到达 TCP 管道上的字符缓冲区“msg”,所以我使用 libxml2 调用 xmlReadDoc() 代替以下选项 XML_PARSE_NOBLANKS 和 XML_PARSE_OLD10
xmlDocPtr parsed_xml_dom;
parsed_xml_dom = xmlReadDoc((xmlChar *)(msg), NULL, NULL, XML_PARSE_NOBLANKS| XML_PARSE_OLD10);