Как интерпретировать [73] в конце сообщения об ошибке xml2 - PullRequest
0 голосов
/ 04 февраля 2019

Я использую R для анализа 60 больших (по 0,5 ГБ каждый) XML-файлов из одного источника.У меня есть код, который работает для всех файлов, кроме одного, который возвращает это сообщение об ошибке:

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

Это происходит от read_xml.character().

Сообщение ясно, что в пропущенном символефайл, но чтобы помочь мне найти его, было бы хорошо узнать: что означает [73]?

(Моим первым предположением была строка 73 файла, но в этом нет ничего заведомо неправильного),

Я не могу опубликовать воспроизводимый пример из-за размера файла и его коммерческой конфиденциальности;так что я был бы рад просто указать на сообщение об ошибке.

1 Ответ

0 голосов
/ 05 февраля 2019

Пакет R xml2 в основном является оболочкой для libxml2-парсера .Библиотека libxml2 определяет набор кодов ошибок .Вот подмножество этих кодов:

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 показывает, что символ больше, чем ожидалось, но не был найден.

Поскольку это не говорит вам точно, где произошла ошибка, вы можете использовать валидатор xml, чтобы получить большедиагностическая информация о том, что именно произошло в файле.

...