Страница 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.