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

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

Так примеры читаемого нечитаемого XML давайте.
Мы ж не телепаты :)
...
Рейтинг: 0 / 0
манипуляции с ХМЛ
    #37956425
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переводы строк скорее всего добавляются. Проверьте в редакторе на нечитаемые символы (только через hex-коды просматривайте). Еще, при простом слиянии может оставаться EOF.
Ну и неплохо бы все-таки начальный и конечный файл просмотреть, миелафон пока ведь еще не изобрели:)
...
Рейтинг: 0 / 0
манипуляции с ХМЛ
    #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
манипуляции с ХМЛ
    #37956827
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot sboyko]spas2001,
<oos:name>шт
</oos:name>
=========
этот момент раньше был таким
<oos:name>шт</oos:name>
===============
ничего не изменилось!
а может ли быть так что из за кодировки символы выглядят одинаково а в их основе что разное-то есть unicode или однобайтный код?
...
Рейтинг: 0 / 0
манипуляции с ХМЛ
    #37956843
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sboyko,

Если текст не отличается значит дело в каких то нетекстовых (невидимых) данных.
Поэтому давайте сюда сами файлы (запакованные и приложенные), а не отрывки из них.
...
Рейтинг: 0 / 0
манипуляции с ХМЛ
    #37956856
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Внутри тега можете писать что угодно, ну почти, имеется ввиду за пределами кодировки
Анатолий прав, нужно смотреть сами файлы, иначе бесполезно
...
Рейтинг: 0 / 0
манипуляции с ХМЛ
    #37956859
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо viewer-а возьмите far, там есть такая возможность
Или сами установите XMLSpy и будет вам счастье:)
...
Рейтинг: 0 / 0
манипуляции с ХМЛ
    #37957082
Фотография 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
манипуляции с ХМЛ
    #37957095
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, забыл добавить - кавычки я тоже заменил
...
Рейтинг: 0 / 0
манипуляции с ХМЛ
    #37957268
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskysboyko,

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

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

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

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

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

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


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