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
 
- Игорь Столяров
 - Ветеран движения
 - Сообщения: 8269
 - Зарегистрирован: 07 Июль 2005, 10:19
 - Откуда: г. Ростов-на-ДоМу
 - Благодарил (а): 34 раза
 - Поблагодарили: 106 раз
 
Re: iQXML
Не согласен. Да, в IQ-XML, точнее в некоторых его релизах бывают приколы, в основном связанные с русской кодировкой,StillZero писал(а):если только начинаешь пользоваться, то не надо, это ГОВНО
но в целом прекрасный продукт и другой альтернативы для быстрого написания XML парсера в Clarion нет.
К тому же полностью бесплатный. Работаем много лет - в целом весьма довольны.
За теми, кто отстал, не возвращаться ! 
 Кодекс
			
						- Дед Пахом
 - Старичок
 - Сообщения: 3346
 - Зарегистрирован: 07 Июль 2005, 16:51
 - Откуда: Москва, Россия
 - Благодарил (а): 20 раз
 - Поблагодарили: 56 раз
 - Контактная информация:
 
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.
