Страница 1 из 2

XML убрать перенос - CRLF

Добавлено: 16 Февраль 2019, 11:58
gopstop2007
Как убрать переносы при создании XML файла?
Нужно так

Код: Выделить всё

<text>hello world</text>
а получается

Код: Выделить всё

<text>
    hello world
 </text>
C10, ABC
Спасибо за внимание.

XML убрать перенос - CRLF

Добавлено: 16 Февраль 2019, 12:59
Дед Пахом
Чем файлы создаются-то?

XML убрать перенос - CRLF

Добавлено: 16 Февраль 2019, 14:45
gopstop2007
без шаблонов, с помощью clarion XMLWriter (abprxml .clw; .inc)

XML убрать перенос - CRLF

Добавлено: 16 Февраль 2019, 14:52
Дед Пахом
наверно xml.SetUseCRLF(0)

XML убрать перенос - CRLF

Добавлено: 16 Февраль 2019, 14:54
gopstop2007
Дед Пахом писал(а): 16 Февраль 2019, 14:52наверно xml.SetUseCRLF(0)
Уже пробовал, весь xml в таком виде

Код: Выделить всё

<text>hello world</text><text>hello world</text><text>hello world</text><text>hello world</text>

XML убрать перенос - CRLF

Добавлено: 16 Февраль 2019, 14:56
Дед Пахом
И что не так?

XML убрать перенос - CRLF

Добавлено: 16 Февраль 2019, 15:02
gopstop2007
надо

Код: Выделить всё

<text>hello world</text>
 <text>1</text>
 <text>2</text>
 <text>3</text>
у меня получается в таком виде

Код: Выделить всё

<text>
hello world
</text>
<text>
1
</text>
<text>
2
</text>
<text>
3
</text>

XML убрать перенос - CRLF

Добавлено: 16 Февраль 2019, 15:07
Дед Пахом
gopstop2007 писал(а): 16 Февраль 2019, 14:54<text>hello world</text><text>hello world</text><text>hello world</text><text>hello world</text>
можно этот xml разбить, вставляя CRLF перед < (но не перед </).

XML убрать перенос - CRLF

Добавлено: 16 Февраль 2019, 15:21
kreator
Мне сдаётся, что xml-ю всё равно - есть переводы строк или нет. А чьи требования в таком виде писать? Читающая прога какая-то специфическая?

XML убрать перенос - CRLF

Добавлено: 16 Февраль 2019, 15:39
gopstop2007
Дед Пахом писал(а): 16 Февраль 2019, 15:07 можно этот xml разбить, вставляя CRLF перед < (но не перед </).
спасибо, видимо придется
kreator писал(а): 16 Февраль 2019, 15:21 Мне сдаётся, что xml-ю всё равно - есть переводы строк или нет. А чьи требования в таком виде писать? Читающая прога какая-то специфическая?
экспорт данных (xml и yml- яндекс), читабельность, и при большом объеме размер файла поменьше будет.

XML убрать перенос - CRLF

Добавлено: 17 Февраль 2019, 10:25
Игорь Столяров
Рискну предложить очевидное решение.
Формировать XML файл как текстовую строку IDynStr и записывать результат в файл через WinAPI.

Вы сможете легко придать XML документу любой нужный вид и это работает на порядок быстрей
(т.к. не используется тормознутый XMLWriter работающий через драйвер ASCII).

XML убрать перенос - CRLF

Добавлено: 17 Февраль 2019, 12:31
finsoftrz
Игорь Столяров писал(а): 17 Февраль 2019, 10:25Рискну предложить очевидное решение.
Формировать XML файл как текстовую строку IDynStr и записывать результат в файл через WinAPI.

Вы сможете легко придать XML документу любой нужный вид и это работает на порядок быстрей
(т.к. не используется тормознутый XMLWriter работающий через драйвер ASCII).
+1. Только я использую свой небольшой классик для этого. И делаю именно так, как гопстоп хочет, это стандартный вид для xml, который выдает xml notepad. Сейчас многие предпочитают экономить и обходиться совсем без перевода строк. Парсер это нормально понимает, но текст нечитабельный, при необходимости посмотреть приходится тем же xml notepad открыть и сохранить. А XMLWriter, действительно, какой-то странный вариант выдает, похоже на ляп в классе.

XML убрать перенос - CRLF

Добавлено: 17 Февраль 2019, 15:21
RaFaeL
Взяли да поправили класс ) Будет как нужно )

XML убрать перенос - CRLF

Добавлено: 18 Февраль 2019, 11:05
kreator
RaFaeL писал(а): 17 Февраль 2019, 15:21 Взяли да поправили класс ) Будет как нужно )
Зачем? У него частный случай. Если теги вложенные, будет опять нечитаемо. Ещё хуже, чем сейчас.

XML убрать перенос - CRLF

Добавлено: 17 Май 2019, 8:28
talgat55
А чем и как читать xml файл у которого переводов строк нет - объявлять в ASCII - ТАМ нужно указывать длину поля =1024
Т.е. есть xml по сути одной огромной строки - хотел бы туды записать концы строк - но как его читать ?