Имя: Пароль:
1C
 
Перенос строк в XML
0 ORGANIZATOR
 
02.11.09
12:20
При обмене данными "XXX" c "1C" возникла следубщая проблема.
Пропадают символы переноса строк и все слова разделяются простыми пробелами. А в моём случае перенос строк очень важен. По какой причине такое происходит и как можно это обойти? Изменение формата выгрузки из системы "XXX" не возможна.
1 ТелепатБот
 
гуру
02.11.09
12:20
2 Анютик
 
02.11.09
12:22
а в файле xml наличиствуют символы переноса строк?
3 ORGANIZATOR
 
02.11.09
12:24
когда этот файл открываю с помощью WORDPAD тогда переносы строк есть,если с помощью експлорера то нет.
4 Анютик
 
02.11.09
12:25
мм...а если строку по кодам символов разобрать? самой же 1Ской.
5 NcSteel
 
02.11.09
12:25
6 Анютик
 
02.11.09
12:25
естессно, не весь файл, а выдрав из xml заведомо содержащий разделитель блок?
7 ORGANIZATOR
 
02.11.09
12:27
(4) При считывании xml когда я получаю данные конкретного т ега. где должны быть переносы строк, там везде обычные пробелы.
8 ДенисЧ
 
02.11.09
12:28
(7) Это фича xml. Просо определение.
9 ORGANIZATOR
 
02.11.09
12:33
(9)не понял второго
10 Анютик
 
02.11.09
12:35
(9)+1
11 ORGANIZATOR
 
02.11.09
12:54
если считываю этот файл построчно как текстовый документ, то всё переноситься как надо.
12 ДенисЧ
 
02.11.09
12:59
(11) XML - это не текстовый файл. Запомни это.
Или работай с ним, как с текстом, или как c XML
13 ORGANIZATOR
 
02.11.09
13:44
(12)Это ты чему? Как это можно связать с моей проблемой?
14 Rie
 
02.11.09
13:49
(13) Работай с ним как с обычным текстом. Пиши свой парсер - и вперёд.

Или же чем-нибудь позаменяй все концы строк на <endofline> или чего-нибудь ещё.

Вроде ж уже второй раз этот же вопрос встаёт.
15 smaharbA
 
02.11.09
14:05
разбей по узлам
16 ДенисЧ
 
02.11.09
14:06
(13) Это я к тому, что парся xml как xml, ты не получишь переносов строк, если они явно, через теги, не указаны.
17 ORGANIZATOR
 
02.11.09
14:10
(15)Что мне это даст?
18 ORGANIZATOR
 
02.11.09
14:29
(14)Как обычный текст я распарсил, но хотелось бы это сделать с помощью xml.
Изначально ко мне приходит строка, которую я сохраняю в txt. А уже потом этот файл читаю. Так вот в этом файле txt символ переноса строк есть. Как можно это использовать?
19 Rie
 
02.11.09
14:54
(18) С помощью XML это сделать _невозможно_.
Использовать можно - заменив (какой-нибудь программой, да хоть той же 1С) крнцы строк на что-либо воспринимаемое XML. Например, на <endofline />. Или же на какой-либо спецсимвол.
20 ORGANIZATOR
 
02.11.09
15:24
(19)В конце каждой строки добавил <endofline />. При попытке прочитать xml ругается на некорректную структуру.
21 Rie
 
02.11.09
15:28
(20) А как это выглядит в XML? Может, конец строки стоит внутри < >?
Если так - тогда только свой парсер, IMHO.
22 smaharbA
 
02.11.09
15:29
вообщето на то xsl:text или xsl:preserve-space
но это уже относится к преобразованию
23 ORGANIZATOR
 
02.11.09
15:31
(21)В конце каждой строки добавил <endofline />
<getDocOperReply>
<docID value="180492994"/>
<StateID value="1"/>
<State value="Заготовка"/>
<docOper>
<operDate value="22.10.2009 09:09:27"/>
<operFactDate value="22.10.2009 09:09:27"/>
<operOrgId value="112851"/>
<operOrgName value="ООО "Трансойл""/>
<operPost value="Сотрудник"/>
<operPerson value="Чуракова Ирина Викторовна"/>
<operText value="Создание документа"/>
<operResultId value="-7"/>
<operResult value="Накладная скопирована"/>
<operRemark value="Скопировано с накладной ID=180244165"/>
<operWorkPlace value="ALUNAN(309506)"/>
<operOperID value="1718232208"/>
</docOper>
<docOper>
<operDate value="22.10.2009 09:14:04"/>
<operFactDate value="22.10.2009 09:09:29"/>
<operOrgId value="112851"/>
<operOrgName value="ООО "Трансойл""/>
<operPost value="Сотрудник"/>
<operPerson value="Чуракова Ирина Викторовна"/>
<operFromStateId value="1"/>
24 Rie
 
02.11.09
15:32
(23) Так а в таком файле - какой таинственный смысл несут концы строк?
25 ORGANIZATOR
 
02.11.09
15:53
(24)текст выложил не весь, вот где это нужно

<ecpText value="ОРИГИНАЛ НАКЛАДНОЙ ПОСЛЕ ПОГРУЗКИ Отправка № ЭВ685219 Вид отправки Повагонная Скорость Грузовая ОТПРАВЛЕНИЕ Страна отправления Российская Федерация Станция отправления 987905 БЛЮХЕР Грузоотправитель ООО "Трансойл" Адрес 197046, Г.САНКТ-ПЕТЕРБУРГ, САНКТ-ПЕТЕРБУРГ, Петроградская набережная - 18 А, тел: (812) 332-22-00,(812) 332-20-85 Из порта НАЗНАЧЕНИЕ Страна назначения Российская Федерация Станция назначения 831504 КОМБИНАТСКАЯ Грузополучатель ОАО "ГАЗПРОМ НЕФТЬ" Адрес 190000, Санкт-Петербург, Галерная - 5 - А, тел: (495)77-73-152 Подъездной путь ОАО ГАЗПРОМНЕФТЬ-ОНПЗ В порт Пункт назначения СЛЕДОВАНИЕ ЧЕРЕЗ ОПЛАТА Оплата через ЦФТО Плательщик Трансойл ГРУЗ Наименование 421049 ВАГОНЫ-ЦИСТЕРНЫ, ПЕРЕВОЗИМЫЕ НА СВОИХ ОСЯХ Масса груза (кг) 0 Упаковка Неупаков. Количество мест Условия опасности Неопасный груз Знаки и марки Под наименованием груза ПОРОЖНЯЯ ЦИСТЕРНА ПРИБЫВАЛА ПО ОТПРАВКЕ ЭВ047889 СО СТАНЦИИ КОМБИНАТСКАЯ З-С Ж.Д. ПОЛНОСТЬЮ СЛИТА,НЕ ПРОМЫТА.СОГЛ. НА ЭЦП 33/5 -234 от 30.10.08 тел ЦФТОДГ-5/237 ОТ 17.04.09. ИНФОРМАЦИЯ О СОСТОЯНИИ ЦС УКАЗАНА Г/П В ПАМЯТКЕ ПРИЕМОСДАТЧИКА ВАГОН Вагон 50987130 Род вагона цистерны Собственность Арендованный 93315475 ЗАО "НефтеТрансСервис" Масса тары (ц) 270 Масса тары проверенная (ц) 0 Масса груза в вагоне (кг) 0 Масса допоборудования (кг) Негабаритность Из под выгрузки 221066 МАЗУТ ТОПОЧНЫЙ Особые отметки Проводники ПРИЛАГАЕМЫЕ ДОКУМЕНТЫ ОСОБЫЕ УСЛОВИЯ 1 Другие отметки отправителя 2 КОНТЕЙНЕРЫ "/>
26 Rie
 
02.11.09
16:06
(25) А там зачем?
Разбираешь значение value, выделяя ключевые слова.

Странно только, что вообще что-то воспринимается - двойные кавычки явно не парные.