Разметка должна быть правильно построена

Прежде всего позвольте мне сказать, что я - новое для SAX и Java.

Я пытаюсь считать информацию из XML-файла, который не хорошо формируется.

Когда я пытаюсь использовать SAX или Синтаксический анализатор DOM, я получаю следующую ошибку в ответ:

The markup in the document following the root element must be well-formed.

Это - то, как я настроил свой XML-файл:

<format type="filename" t="13241">0;W650;004;AG-Erzgeb</format>
<format type="driver" t="123412">001;023</format>
   ...

Я могу вынудить SAX или DOM проанализировать XML-файлы, даже если они не хорошо формируются XML?

Спасибо за помощь. Очень ценивший. Haythem

8
задан Sunil D. 4 June 2013 в 17:45
поделиться

3 ответа

Лучше всего сделать XML правильно сформированным, возможно, немного предварительно обработав его. В этом случае вы можете добиться этого, просто поместив объявление XML (и даже это необязательно) и предоставив корневой элемент (который не является необязательным), например:

<?xml version="1.0"?>
<wrapper>
    <format type="filename" t="13241">0;W650;004;AG-Erzgeb</format>
    <format type="driver" t="123412">001;023</format>
</wrapper>

Здесь я произвольно выбрал имя «оболочка» для корневого элемента; это может быть что угодно.

20
ответ дан 5 December 2019 в 07:58
поделиться

Подсказка: используя sax или stax, вы можете успешно анализировать неправильно сформированный XML-документ до тех пор, пока не появится ПЕРВАЯ ошибка "правильного формата" встречается.

(Я знаю, что это не слишком помогает ...)

1
ответ дан 5 December 2019 в 07:58
поделиться

Поскольку модель DOM просканирует ваш XML-файл, а затем построит дерево, корневой узел дерева будет похож на ответ as 1. Однако, если синтаксический анализатор не может найти или даже, он может даже построить дерево. Итак, лучше выполнить некоторую предварительную обработку xml-файла, прежде чем анализировать его с помощью DOM или Sax.

0
ответ дан 5 December 2019 в 07:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: