Отключить декодирование текстового содержимого XML - PullRequest
2 голосов
/ 28 января 2010

Можно ли отключить декодирование XML-текстового содержимого при разборе XML-файла с использованием Java? Например, " возвращается как есть, а не конвертируется в кавычку

Эффективно, чтобы текстовый контент обрабатывался так, как если бы он был заключен в блок CDATA

Ответы [ 3 ]

2 голосов
/ 02 февраля 2010

Какой вред может дать парсеру заменить сущность и затем заменить ее позже?

1 голос
/ 28 января 2010

На самом деле, это было бы крайне сомнительно. В конце концов, эти два xml-фрагмента - это одно и то же с точки зрения XML, если & quot; был определен как значение ":

<a>&quot;<b></b></a>

и

<a>"<b/></a>

А если & quot; не был определен, первый вход недействителен в любом случае. Итак, с точки зрения , означающего , вы на самом деле просите получить преобразование, а не избежать его.

Любой анализатор, который видит разницу между этими входными данными, не ведет себя как анализатор XML. (И программа, полагающаяся на разницу, на самом деле не работает с XML, она пытается работать с текстовыми файлами с некоторой навязанной структурой.)

Я не уверен, какой вывод должен быть в любом случае. Желаете ли вы, чтобы ваш Java-код видел текстовый узел со значением "&quot;"? Но xml-вход для этого был бы &amp;quot;, и это также, как xml-вывод такого текстового узла.

0 голосов
/ 28 января 2010

kXML 2 имеет параметры expand-entity-ref и xml-roundtrip , которые позволяют сделать это.

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