2010-12-29 4 views
1

У меня проблема с javax.xml.transform.Transformer.Java xml Transformer to escape &

Я пытаюсь создать документ XML, и один из атрибутов - это ссылка HTTP, которая содержит & для запроса. После того, как я вызвал метод transform(), все символы & становятся &.

Так что я могу настроить трансформатор, чтобы не преобразовать & в &? Заранее спасибо.

Редактировать


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

<Notification url="http://www.xyz.com/notify.jsp?param1=123&param2=345/> 

Но я получаю сейчас

<Notification url="http://www.xyz.com/notify.jsp?param1=123&amp;param2=345/> 

Потому что я должен преобразовать документ XML в строку и отправить его через сокет. Поэтому я не хочу, чтобы & был преобразован в &amp; в качестве конечного результата.

+0

** ... что я настраиваю трансформатор, чтобы не преобразовать '&' в '&' ** - вы имеете в виду '&' в '&'? или вы хотите, чтобы появилось что-то другое, кроме «&»? – anirvan

+0

Извините, anirvan, я забыл проверить после публикации. Да, я не хочу, чтобы '&' преобразовывался в '& amp;'. Благодарю. –

ответ

2

После того как я вызван метод преобразования, все & персонажи становятся &amp;

Это именно то, что должен случиться.

Что заставляет вас предположить, что <div>A &amp; B</div> правильный XML/HTML и что-то вроде <div title="A &amp; B" /> нет?

& должен быть экранированы абсолютно везде, который включает в себя значения атрибутов, таких как href.

+0

Привет, Томалак. Как я уже упоминал в своем вопросе, мне нужно установить http-ссылку как атрибут в документе xml. Затем мне нужно преобразовать его в String и отправить его по сокету. Поэтому мне нужно иметь что-то вроде url: //www.xyz.com/test.html? Param1 = 123 & param2 = 234, но не с &. –

+0

@KHein: Я не совсем уверен, что вы делаете. Но ваш вопрос не может привести к никакому другому выводу, чем то, что вы делаете это неправильно. Вы должны расширить свой вопрос с помощью образцов XML и XSLT. – Tomalak

+0

@ Томалак, я попытался подробнее рассказать о своем вопросе. Пожалуйста, дайте мне знать, если это все еще неоднозначно. –