如何解释 xml2 错误消息末尾的 [73]

How to interpret [73] at end of an xml2 error message

我正在使用 R 解析来自同一来源的 60 个大文件(每个 0.5 GB)XML 个文件。我的代码适用于除一个文件以外的所有文件,其中 returns 此错误消息:

Error in doc_parse_file(con, encoding = encoding, as_html = as_html, options = options) : 
  expected '>' [73]

本文来自read_xml.character().

消息很清楚,文件中缺少一个字符,但要帮助我找到它,最好知道:[73] 指的是什么?

(我的第一个猜测是文件的第 73 行,但这并没有明显的错误)。

我无法 post 一个可重现的例子,因为文件的大小和它的商业机密;所以我很高兴在错误消息上指出一点。

R 包 xml2 基本上是 libxml2 parser. The libxml2 library defines a bunch of error codes 的包装器。以下是这些代码的一个子集:

XML_ERR_PUBID_REQUIRED = 71 : 71
XML_ERR_LT_REQUIRED = 72 : 72
XML_ERR_GT_REQUIRED = 73 : 73
XML_ERR_LTSLASH_REQUIRED = 74 : 74
XML_ERR_EQUAL_REQUIRED = 75 : 75

所以您在 R 中括号中看到的数字是从 xmllib2 库返回的错误代码。在这种情况下,错误 73 表示预期有大于号 (GT),但未找到。

由于这不会告诉您错误发生的确切位置,您可能需要使用 xml 验证器来获取有关文件中究竟发生了什么的更多诊断信息。