Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / манипуляции с ХМЛ / 15 сообщений из 15, страница 1 из 1
13.09.2012, 15:01
    #37956191
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
есть ПБ105+Win7
1.что хотел-есть хмл файл из головной организации, нужно в опр место вставить спецификацию техн оборудования и сохранить файл. Я в ПБ читаю файл заголовка, из ДВ получаю файл спецификации и сливаю их. Кодировка UTF-8 обоих файлов. Все получается как я и задумал-но после слияния ХМЛ файл перестает читаться ХМЛ инструментами-MS WORD, XML editor.
Проверил все до символа-предыдущие строки с моей единственной добавленной строкой. ВСЕ ОК!
2.тогда я проделал это вручную-благо все таки файл текстовый. И получаю тот же результат - файл не читается ХМЛ инструментом.

вопрос-где засада? в ХМЛ я совсем не разбираюсь, но уж очень загадочно.... :-(
...
Рейтинг: 0 / 0
13.09.2012, 16:09
    #37956350
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
sboyko,

Так примеры читаемого нечитаемого XML давайте.
Мы ж не телепаты :)
...
Рейтинг: 0 / 0
13.09.2012, 16:42
    #37956425
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
Переводы строк скорее всего добавляются. Проверьте в редакторе на нечитаемые символы (только через hex-коды просматривайте). Еще, при простом слиянии может оставаться EOF.
Ну и неплохо бы все-таки начальный и конечный файл просмотреть, миелафон пока ведь еще не изобрели:)
...
Рейтинг: 0 / 0
13.09.2012, 21:47
    #37956819
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
spas2001,
=========правильное
<oos:product>
<oos:OKDP>
<oos:code> 3010500</oos:code>
<oos:name>ЭЛЕКТРОННО - ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА, ЕЕ ДЕТАЛИ И ПРИНАДЛЕЖНОСТИ</oos:name>
</oos:OKDP>
<oos:name>компакт диск в индивидуальной упаковке «SlimBox», DVD+RW, Объем 4.7Gb, скорость записи 4х</oos:name>
<oos:OKEI>
<oos:code>796</oos:code>
<oos:name>Штука</oos:name>
</oos:OKEI>
<oos:price>40.61</oos:price>
<oos:quantity>5220</oos:quantity>
<oos:sum>211984.2</oos:sum>
</oos:product>
=========мое, неправильное
<oos:product>
<oos:name>«SlimBox» 2010</oos:name>
<oos:OKDP>
<oos:code>3020102</oos:code>
<oos:name>Комплексы и машины вычислительные аналого - цифровые</oos:name>
</oos:OKDP>
<oos:price>110450.00</oos:price>
<oos:sum>358962500.00</oos:sum>
<oos:quantity>3250</oos:quantity>
<oos:OKEI>
<oos:code>796</oos:code>
<oos:name>шт
</oos:name>
</oos:OKEI>
</oos:product>
=========
1.про миелофон согласен, но здесь нужен мозговой штурм или просто знание вопроса
2.раньше были viewer в 16 ричном виде- кто подскажет где это сейчас
3юможет ли это быть что нибудь с кодировкой?
...
Рейтинг: 0 / 0
13.09.2012, 21:56
    #37956827
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
[quot sboyko]spas2001,
<oos:name>шт
</oos:name>
=========
этот момент раньше был таким
<oos:name>шт</oos:name>
===============
ничего не изменилось!
а может ли быть так что из за кодировки символы выглядят одинаково а в их основе что разное-то есть unicode или однобайтный код?
...
Рейтинг: 0 / 0
13.09.2012, 22:14
    #37956843
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
sboyko,

Если текст не отличается значит дело в каких то нетекстовых (невидимых) данных.
Поэтому давайте сюда сами файлы (запакованные и приложенные), а не отрывки из них.
...
Рейтинг: 0 / 0
13.09.2012, 22:42
    #37956856
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
Внутри тега можете писать что угодно, ну почти, имеется ввиду за пределами кодировки
Анатолий прав, нужно смотреть сами файлы, иначе бесполезно
...
Рейтинг: 0 / 0
13.09.2012, 22:43
    #37956859
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
Вместо viewer-а возьмите far, там есть такая возможность
Или сами установите XMLSpy и будет вам счастье:)
...
Рейтинг: 0 / 0
14.09.2012, 09:46
    #37957082
ChV
ChV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
Надо описать пространство имен "oos" и сохранить все в кодировке, указанной в пар-ре "encoding=...".
Все работает.

<?xml version="1.0" encoding="utf-8"?>
<oos:product xmlns:oos=" http://www.w3.org">
<oos:name>"SlimBox" 2010</oos:name>
<oos:OKDP>
<oos:code>3020102</oos:code>
<oos:name>Комплексы и машины вычислительные аналого - цифровые</oos:name>
</oos:OKDP>
<oos:price>110450.00</oos:price>
<oos:sum>358962500.00</oos:sum>
<oos:quantity>3250</oos:quantity>
<oos:OKEI>
<oos:name>шт
</oos:name>
<oos:code>796</oos:code>
</oos:OKEI>
</oos:product>


Good Luck !
...
Рейтинг: 0 / 0
14.09.2012, 09:52
    #37957095
ChV
ChV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
Да, забыл добавить - кавычки я тоже заменил
...
Рейтинг: 0 / 0
14.09.2012, 11:14
    #37957268
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
Anatoly Moskovskysboyko,

Если текст не отличается значит дело в каких то нетекстовых (невидимых) данных.
Поэтому давайте сюда сами файлы (запакованные и приложенные), а не отрывки из них.

прикладываю RAR папку в которой файлы
1.заголовок
2.спец из ПБ105
3.результирующий файл

из файла 2(спец) выдернута строка от <product>...</product> и вставлена в файл заголовка с получением результирующего файла.
...
Рейтинг: 0 / 0
14.09.2012, 14:03
    #37957783
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
вроде получилось!
писал файл с результатом в кодировке utf16le.
поменял на utf8 и все пошло, правда самому не понятно что меняет эта кодировка.

в продолжение вопрос-как прочитать ХМЛ файл, полученный не из моей программы, в мою программу в DW? что нужно сделать?
...
Рейтинг: 0 / 0
14.09.2012, 15:18
    #37957989
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
sboykoвроде получилось!
писал файл с результатом в кодировке utf16le.
поменял на utf8 и все пошло, правда самому не понятно что меняет эта кодировка.

Тут как раз все понятно - вы в файле указывали что он encoding="utf-8", а сами создавали его в другой кодировке.

sboykoв продолжение вопрос-как прочитать ХМЛ файл, полученный не из моей программы, в мою программу в DW? что нужно сделать?
В общем случае надо ручками парсить загружаемый XML например используя класс PBDOM.
Напрямую в DW - врядли.
...
Рейтинг: 0 / 0
14.09.2012, 15:24
    #37958005
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
Anatoly MoskovskyТут как раз все понятно - вы в файле указывали что он encoding="utf-8", а сами создавали его в другой кодировке.
Можно создавать и в UTF-16LE, но при этом надо указать правильную кодировку в атрибуте encoding, а также насколько помню так как UTF-16 несовместима с ASCII то нужно в начале файла указать BOM (byte order mark) кодировки UTF-16LE (их несколько для разных вариаций utf )
...
Рейтинг: 0 / 0
16.09.2012, 23:14
    #37959539
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
манипуляции с ХМЛ
Anatoly MoskovskyAnatoly MoskovskyТут как раз все понятно - вы в файле указывали что он encoding="utf-8", а сами создавали его в другой кодировке.
Можно создавать и в UTF-16LE, но при этом надо указать правильную кодировку в атрибуте encoding, а также насколько помню так как UTF-16 несовместима с ASCII то нужно в начале файла указать BOM (byte order mark) кодировки UTF-16LE (их несколько для разных вариаций utf )
Большой спасибо!
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / манипуляции с ХМЛ / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]