Страница 1 из 2
iQXML
Добавлено: 26 Май 2011, 15:35
seawolf
Вот сто лет не работал c iQXML. Стало нужно пару таблиц скинуть в xml. Поставил 63 под 9059 версию (кла 63) и не могу - все русские буквы в кракозябры! Строку заголовка сформировал
<?xml version="1.0" encoding="windows-1251" ?> и все ... Как лечить ???
Re: iQXML
Добавлено: 30 Май 2011, 9:55
seawolf
Отвечу сам себе, исходный данные лежали в dos кодировке пришлось их крутнуть в win1251 и потом заслать с iqxml. Проблем нет - русский язык понимается!
Re: iQXML
Добавлено: 31 Май 2011, 2:04
StillZero
если только начинаешь пользоваться, то не надо, это ГОВНО
Re: iQXML
Добавлено: 31 Май 2011, 8:52
seawolf
Да просто надо по быстрому выгрузить, а для этого лень работать с xml как с Ascii
Re: iQXML
Добавлено: 31 Май 2011, 12:16
Савченко Геннадий
А чем посоветуешь разбирать XML В CLARION?
Re: iQXML
Добавлено: 31 Май 2011, 12:17
Савченко Геннадий
А чем посоветуешь разбирать XML в clarion?
Re: iQXML
Добавлено: 31 Май 2011, 15:47
Игорь Столяров
StillZero писал(а):если только начинаешь пользоваться, то не надо, это ГОВНО
Не согласен. Да, в IQ-XML, точнее в некоторых его релизах бывают приколы, в основном связанные с русской кодировкой,
но в целом прекрасный продукт и другой альтернативы для быстрого написания XML парсера в Clarion нет.
К тому же полностью бесплатный. Работаем много лет - в целом весьма довольны.
Re: iQXML
Добавлено: 31 Май 2011, 15:57
Дед Пахом
Можно заюзать Cla#.
Процедура экспорта таблицы:
Код: Выделить всё
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')
Результат работы (''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>
.......................
и так далее.
Re: iQXML
Добавлено: 31 Май 2011, 16:11
StillZero
Савченко Геннадий писал(а):А чем посоветуешь разбирать XML в clarion?
не могу дать совет...
Re: iQXML
Добавлено: 02 Июнь 2011, 14:02
Yufil
Встроенным парсером CW6, он рабочий (ну, почти...)
Re: iQXML
Добавлено: 03 Июнь 2011, 17:12
Савченко Геннадий
Встроенным парсером CW6, он рабочий (ну, почти...)
пять лет назад разбирал. Пробую сейчас создать процедуру , а не подключаются xml библиотеки clarion.
Не могу вспомнить как их подключить.
Подскажет кто?
Re: iQXML
Добавлено: 03 Июнь 2011, 17:14
Савченко Геннадий
Да clarion 6.3
Re: iQXML
Добавлено: 06 Июнь 2011, 10:25
Yufil
Самый простой способ - сделать скрытую кнопочку и повесить на неё шаблон XML View или что-то в этом виде.
Или в начало вставить (After Global Includes)
PROGRAM
INCLUDE('CPXML.INC'),ONCE
INCLUDE('XMLCLASS.INC'),ONCE
Кстати, в XMLView есть полезная функция FillDOMQueue, которая загружает XML-файл в очередь, собственно, и показываемая шаблоном.
Re: iQXML
Добавлено: 06 Июнь 2011, 16:07
Савченко Геннадий
Спасибо , про XML View сам еле допер, ну забыл. А про FillDOMQueue попробую.
Re: iQXML
Добавлено: 07 Июнь 2011, 14:07
Савченко Геннадий
Самый простой способ - сделать скрытую кнопочку и повесить на неё шаблон XML View или что-то в этом виде.
Или в начало вставить (After Global Includes)
PROGRAM
INCLUDE('CPXML.INC'),ONCE
INCLUDE('XMLCLASS.INC'),ONCE
Кстати, в XMLView есть полезная функция FillDOMQueue, которая загружает XML-файл в очередь, собственно, и показываемая шаблоном.
Просьба. не мог бы на майл
new0707@mail.ru кинуть пример реального разбора XML и как воспользоваться функцией FillDOMQueue.