2016-10-28 1 views
0

Во время выполнения тестовых примеров через селен (Java) мы не можем обновить статус (Passed/failed) в тестовой ссылке. ниже ошибка возникла после выполнения.Недопустимый символ XML (Unicode: 0x3) был найден в содержимом элемента документа в selenium

[Fatal Error]: 802: 33: Недопустимый символ XML (Unicode: 0x3) был найден в содержимом элемента документа.

Пожалуйста, предоставьте решение.

ответ

3

Решение заключается в удалении недопустимого символа XML.

0x03 (ака ^C ака ETX ака конец передачи) является not an allowed character in XML:

[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] 

Ваши данные не XML, пока он содержит этот символ, и любой Соответствующий XML-процессор должен сообщить об этой ошибке.

Вы должны восстановить данные путем удаления недопустимых символов, рассматривая его как текст, а не XML, вручную или автоматически, прежде чем использовать его с любыми библиотеками XML.

+0

Очень интересная ситуация. Красивое решение. – Thibstars

+0

Обратите внимание, что управляющие символы отображаются в некоторых текстовых редакторах (например, 0x03 отображается как '^ C' в Textmate. Вы можете попробовать скопировать/вставить над своим сомнительным текстом, чтобы визуально найти напуганные символы! Или регулярное выражение всегда может отслеживать эти символы, слишком. – rinogo