3

我正在使用 libxml2 库编写一些 C 代码来读取 XML 文件。为此目的似乎有两个不同的函数,xmlParseFilexmlReadFile,而且我不确定它们之间的区别(除了 xmlReadFile() 需要一些额外参数的事实之外)。

libxml2 网站上的示例有时使用 xmlParseFile,有些使用 xmlReadFile。

那么什么时候应该使用 xmlParseFile,什么时候应该使用 xmlReadFile?我找不到任何可以解释这一点的东西。

4

3 回答 3

4

xmlReadFile() 功能更强大,因为它能够采用 URL 而不是本地文件路径,并允许指定更多选项(http://xmlsoft.org/html/libxml-parser.html#xmlParserOption),所以我倾向于使用它而不是 xmlParseFile()。也就是说,如果您正在解析本地 XML 文件而不使用解析器选项,那么您可以使用 xmlParseFile()。

于 2013-10-14T15:13:24.600 回答
0

xmlReadFile() 是用于解析 XML 的更强大和最新版本。我也用它来代替 xmlParseFile()。

于 2015-09-30T06:56:18.040 回答
0

我有 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);
于 2019-01-16T15:41:39.093 回答