iQXML
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
iQXML
Вот сто лет не работал c iQXML. Стало нужно пару таблиц скинуть в xml. Поставил 63 под 9059 версию (кла 63) и не могу - все русские буквы в кракозябры! Строку заголовка сформировал
<?xml version="1.0" encoding="windows-1251" ?> и все ... Как лечить ???
<?xml version="1.0" encoding="windows-1251" ?> и все ... Как лечить ???
Re: iQXML
Отвечу сам себе, исходный данные лежали в dos кодировке пришлось их крутнуть в win1251 и потом заслать с iqxml. Проблем нет - русский язык понимается!
-
- Посетитель
- Сообщения: 27
- Зарегистрирован: 07 Июль 2005, 18:42
-
- Посетитель
- Сообщения: 27
- Зарегистрирован: 07 Июль 2005, 18:42
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Re: iQXML
Не согласен. Да, в IQ-XML, точнее в некоторых его релизах бывают приколы, в основном связанные с русской кодировкой,StillZero писал(а):если только начинаешь пользоваться, то не надо, это ГОВНО
но в целом прекрасный продукт и другой альтернативы для быстрого написания XML парсера в Clarion нет.
К тому же полностью бесплатный. Работаем много лет - в целом весьма довольны.
За теми кто отстал - не возвращаться. (С) Кодекс
- Дед Пахом
- Старичок
- Сообщения: 3133
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Re: iQXML
Можно заюзать Cla#.
Процедура экспорта таблицы:
Файл:
Вызов:
Результат работы (''teachers.xml'):
Процедура экспорта таблицы:
Код: Выделить всё
Utils.ExportToXml PROCEDURE(FILE pFile, STRING pRootName, STRING pTableName, STRING pPath)
da ClaFileDataAdapter
dt ClaDataTable
ds DataSet
CODE
da &= new ClaFileDataAdapter(pFile)
dt &= new ClaDataTable(pTableName)
ds &= NEW DataSet(pRootName)
OPEN(pFile)
da.Fill(dt)
CLOSE(pFile)
ds.Tables.Add(dt)
TRY
ds.WriteXml(pPath)
CATCH Exception ex
MESSAGE(ex.Message)
END
Код: Выделить всё
fTeachers FILE,DRIVER('TOPSPEED'),PRE(TEA),CREATE,BINDABLE,THREAD,NAME('TEACHERS.TPS')
KeyTeacherNumber KEY(TEA:Number),NOCASE,OPT,PRIMARY
KeyLastName KEY(TEA:LastName),DUP,NOCASE
KeyDepartment KEY(TEA:Department),DUP,NOCASE,OPT
Record RECORD,PRE()
Number SIGNED, NAME('Number')
FirstName CLASTRING(20), NAME('FirstName')
LastName CLASTRING(20), NAME('LastName')
Address CLASTRING(20), NAME('Address')
City CLASTRING(20), NAME('City')
State CLASTRING(2), NAME('State')
Zip SIGNED, NAME('Zip')
Telephone CLASTRING(12), NAME('Telephone')
Department SIGNED, NAME('Department')
END
END
Код: Выделить всё
Utils.ExportToXml(fTeachers, 'TestDB', 'Teachers', 'teachers.xml')
Код: Выделить всё
<?xml version="1.0" standalone="yes"?>
<TestDB>
<Teachers>
<Number>227332673</Number>
<FirstName>Neal E</FirstName>
<LastName>Ackerman</LastName>
<Address>348 Tidd Dr</Address>
<City>Lighthouse Point</City>
<State>FL</State>
<Zip>33243</Zip>
<Telephone>305-555-9156</Telephone>
<Department>2</Department>
</Teachers>
<Teachers>
<Number>361830604</Number>
<FirstName>Dean E</FirstName>
<LastName>Adams</LastName>
<Address>2813 Park Ave</Address>
<City>Lighthouse Point</City>
<State>FL</State>
<Zip>33338</Zip>
<Telephone>305-555-1372</Telephone>
<Department>3</Department>
</Teachers>
.......................
и так далее.
С уважением, ДП
-
- Посетитель
- Сообщения: 27
- Зарегистрирован: 07 Июль 2005, 18:42
Re: iQXML
Встроенным парсером CW6, он рабочий (ну, почти...)
пять лет назад разбирал. Пробую сейчас создать процедуру , а не подключаются xml библиотеки clarion.
Не могу вспомнить как их подключить.
Подскажет кто?
пять лет назад разбирал. Пробую сейчас создать процедуру , а не подключаются xml библиотеки clarion.
Не могу вспомнить как их подключить.
Подскажет кто?
-
- Посетитель
- Сообщения: 27
- Зарегистрирован: 07 Июль 2005, 18:42
Re: iQXML
Самый простой способ - сделать скрытую кнопочку и повесить на неё шаблон XML View или что-то в этом виде.
Или в начало вставить (After Global Includes)
PROGRAM
INCLUDE('CPXML.INC'),ONCE
INCLUDE('XMLCLASS.INC'),ONCE
Кстати, в XMLView есть полезная функция FillDOMQueue, которая загружает XML-файл в очередь, собственно, и показываемая шаблоном.
Или в начало вставить (After Global Includes)
PROGRAM
INCLUDE('CPXML.INC'),ONCE
INCLUDE('XMLCLASS.INC'),ONCE
Кстати, в XMLView есть полезная функция FillDOMQueue, которая загружает XML-файл в очередь, собственно, и показываемая шаблоном.
-
- Посетитель
- Сообщения: 27
- Зарегистрирован: 07 Июль 2005, 18:42
-
- Посетитель
- Сообщения: 27
- Зарегистрирован: 07 Июль 2005, 18:42
Re: iQXML
Самый простой способ - сделать скрытую кнопочку и повесить на неё шаблон XML View или что-то в этом виде.
Или в начало вставить (After Global Includes)
PROGRAM
INCLUDE('CPXML.INC'),ONCE
INCLUDE('XMLCLASS.INC'),ONCE
Кстати, в XMLView есть полезная функция FillDOMQueue, которая загружает XML-файл в очередь, собственно, и показываемая шаблоном.
Просьба. не мог бы на майл new0707@mail.ru кинуть пример реального разбора XML и как воспользоваться функцией FillDOMQueue.
Или в начало вставить (After Global Includes)
PROGRAM
INCLUDE('CPXML.INC'),ONCE
INCLUDE('XMLCLASS.INC'),ONCE
Кстати, в XMLView есть полезная функция FillDOMQueue, которая загружает XML-файл в очередь, собственно, и показываемая шаблоном.
Просьба. не мог бы на майл new0707@mail.ru кинуть пример реального разбора XML и как воспользоваться функцией FillDOMQueue.