![]() |
![]() |
![]() |
|
Перенос строк в 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
|
v8: Загрузка двойного пробела из XML Может поможет.
|
|||
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, выделяя ключевые слова. Странно только, что вообще что-то воспринимается - двойные кавычки явно не парные. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |