2012-01-30 2 views
0

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

благодаря

ответ

0

При вызове 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() дает вам не-Dóm копию данных для целей отладки.

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

0

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

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

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