Как удалить все символы отступа, когда я использую toString () для преобразования объекта XML в coldfusion? - PullRequest
0 голосов
/ 30 января 2012

Я пишу с Coldfusion, теперь я пытаюсь использовать toString () для преобразования XML-структуры, сгенерированной из xmlParse () в XML-строку, но toString () всегда добавляет некоторые chr (10) и chr (32) между xml-узел, например " xxx </ node1> chr (10) chr (32) chr (32) chr (32) yyyy </ node2>", они выглядят так, чтобы оставить отступ, поэтому мой вопрос Как я могу удалить все эти отступы символов? (Мне нужно сохранить тот же символ внутри содержимого узла, поэтому использование регулярного выражения для удаления всех данных в этом случае не работает.)

спасибо

Ответы [ 2 ]

0 голосов
/ 30 января 2012

Chr (10) - это перевод строки, а 32 - пробел, так что да, это просто форматирование.

Когда вы записываете содержимое переменной, которую вы помещаете в вывод toString, функции chr ColdFusion исчезают, оставляя вас с совершенно корректным xml.

Как и Майк, я немного смущен тем, почему они появляются. Вы упаковываете вывод в формат xml или аналогичный? Если да, не надо. Xmlformat предназначен только для содержимого узла, а не для полной структуры.

0 голосов
/ 30 января 2012

Когда вы вызываете toString (xml), внутренне он использует Cast._String (), который обертывает String.valueOf (), который обертывает метод NodeImpl.toString () в классе org.apache.xerces.dom.NodeImpl.

http://xerces.apache.org/xerces-j/apiDocs/org/apache/xerces/dom/NodeImpl.html#toString()

Метод .toString () дает вам не-dom копию данных для целей отладки.

Относительно того, почему он вводит CRLF и т. Д., Я неконечно.Я поболтаю и посмотрю, что найду.

...