StAX XML Parser не экранирует одинарные кавычки (') - PullRequest
0 голосов
/ 28 февраля 2011

Мы используем синтаксический анализатор StAX для чтения больших файлов XML, удаления некоторых элементов / атрибутов и записи файла XML

Исходный файл XML является допустимым файлом XML, т. Е. Имеет все специальные символы XML (<, >, ', ", &) с соответствующими версиями XML (&lt;, &gt;, &apos;, &quot;, &amp;)

Когда синтаксический анализатор StaX записывает эти специальные символы в выходной файл, он экранирует <, >, & символов, но не ', " символов, т.е. в выходном файле мы можем видеть ', " символов, хотя входной файл имеет свои экранированные версии

Я пытался заменить, используя String.replaceAll("'","&apos;") метод перед отправкой вывода в StaX-парсер writeAttribute method

Но поскольку StAX-парсер ужеэкранирование <,>, & символ, который выводится как &amp;apos;

Можете ли вы сказать мне, есть ли какая-либо конфигурация / утилита в API синтаксического анализатора StAX для решения этой проблемы в анализаторе StAX?Или, в качестве альтернативы, любые другие предложения использовать другую запись XMLинструмент, который решает эту проблему?

1 Ответ

4 голосов
/ 28 февраля 2011

Одиночные кавычки необходимо экранировать, только если они встречаются в значении атрибута, заключенном в одинарные кавычки. Иначе нет никакой причины избегать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...