powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проверка валидности XML в UTF-8
1 сообщений из 1, страница 1 из 1
Проверка валидности XML в UTF-8
    #33905725
Alex2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет народ! Такой проблем.

Есть XML. Исходная кодировка UTF-8. Парсю его так:
Код: plaintext
1.
Document doc = DOMXMLParser.parse("path\to\xml.file");

Обрабатываю документ присваивая значению одного элемента строку на русском языке.
Потом загоняю документ в строку так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ByteArrayOutputStream baos =  new  ByteArrayOutputStream();

Transformer documentWriter = TransformerFactory.newInstance().newTransformer();
documentWriter.setOutputProperty(OutputKeys.METHOD, "xml");
documentWriter.setOutputProperty(OutputKeys.INDENT, "yes");
documentWriter.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
 synchronized  (documentWriter) {
        documentWriter.transform( new  DOMSource(doc),  new  StreamResult(baos));
}

 return  baos.toString("UTF-8");

Потом эту строку передаю в окно для редактирования (в JEditorPane).
Там ничего не делаю, говорю сразу проверить валидность.
При этом берется текст из этого JEditorPane и валидность этой строки проверяется этой функцией:
Код: plaintext
1.
2.
3.
4.
5.
6.
 public   static   void  doValid(String xml)  throws  ParserConfigurationException, IOException, SAXException {
        DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
         synchronized  (documentBuilder) {
            documentBuilder.parse( new  ByteArrayInputStream(xml.getBytes()));
        }
    }

При этом вываливается исключение:
Invalid byte 2 of 3-byte UTF-8 sequence.

Кто-нибудь может подсказать почему??
Причем если этот xml не загонять в строку и не выдавать на редактирование, а сразу загнать в файл то получается совершенно валидный XML в UTF-8.
И может кто-нибудь знает способ как по нормальному можно проверить валидность, без парсинга?

Заранее всем спасибо :-)
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проверка валидности XML в UTF-8
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]