Я только что вытащил кусок кода, который написал несколько месяцев go. Код извлекает документ XML с веб-сервера и анализирует его с помощью JAXB. В прошлый раз я попробовал это, работал безупречно; теперь я получаю исключение:
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 50; White spaces are required between publicId and systemId.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
Если оглянуться вокруг, это наводит на мысль о некоторых проблемах с данными заголовка XML, а именно <!DOCTYPE ...>
. Ответ предполагает, что это утверждение вводит в заблуждение: в описанном случае systemId вообще отсутствовал, несмотря на ошибку, просто жаловавшуюся на пропущенный пробел перед ним.
Однако, если я получу документ XML с веб-браузер, он даже не содержит заголовка <!DOCTYPE ...>
.
Анализ документа XML, который я получил несколько месяцев назад, работает без проблем.
Если я проверю документ, я найденные сегодня и несколько месяцев назад, оба одинаковы до начала элемента root.