powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблемы с формированием XML
4 сообщений из 4, страница 1 из 1
Проблемы с формированием XML
    #34026241
iis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iis
Гость
Выручайте
Обрабатываю параметры запроса и пишу их в XML. Все проходит нормально. Вот только если на форме заполняется большое текстовое поле с возможностью переноса (т.е. пользователь нажимает в этом поле Enter), то в результирующем XML получаем:
Код: plaintext
1.
первая строка♪
вторая строка
-именно в таком виде. Т.е. добавляет еще один символ OD.
В чем порблема?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
//Устанавливаю значение нода:
// создаем CDATA
// parametersMap - параметры запроса
// doc - org.w3c.dom.Document

CDATASection cdataSection = doc.createCDATASection((String)parametersMap.
                            get(currentNode.getNodeName().trim()));
currentNode.appendChild(cdataSection);

// получаю результирующий XML
            TransformerFactory transFactory = TransformerFactory.newInstance();
            Transformer transformer = transFactory.newTransformer();
            transformer.setOutputProperty(OutputKeys.ENCODING, CharsetUtils.APP_ENCODING);
            DOMSource domSource =  new  DOMSource(doc);
            ByteArrayOutputStream output =  new  ByteArrayOutputStream();
            StreamResult resultStream =  new  StreamResult(output);
            transformer.transform(domSource, resultStream);
...
Рейтинг: 0 / 0
Проблемы с формированием XML
    #34027144
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вполне естественно. Когда пользователь нажимает Enter в этом поле, в текст добавляется символ LF ('\n') или чаще всего пара CR/LF ('\r\n'). Это Вы и видите. Если хотите, можете перед помещением в XML заменять этот символ / пару пробелом.
...
Рейтинг: 0 / 0
Проблемы с формированием XML
    #34027781
iis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iis
Гость
М.ГоловановВполне естественно. Когда пользователь нажимает Enter в этом поле, в текст добавляется символ LF ('\n') или чаще всего пара CR/LF ('\r\n'). Это Вы и видите. Если хотите, можете перед помещением в XML заменять этот символ / пару пробелом.

Если просмотреть в шестнадцатиричном просмотрщике (Far), то видно что при формировании XML transformer добавляет еще один символ 0D (ноль-де - возврат каретки) впереди описанной Вами пары символов. Таким образом, фактически, добавляется еще одна пустая строка.
...
Рейтинг: 0 / 0
Проблемы с формированием XML
    #34028468
iis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iis
Гость
Все разобрался. Правда немного коряво. Так и не понял почему трансформер такие вещи делает. Решил проблему так:
Код: plaintext
1.
2.
3.
 char [] sequenceFrom =  new   char [] { 13 , 13 };   String strFrom =  new  String(sequenceFrom);
 char [] sequenceTo =  new   char [] { 13 };        String strTo =  new  String(sequenceTo);
resultXML = output.toString().replace(strFrom, strTo);

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


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