Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

XML Parser [WinXP]


S-C-L ©   (2012-01-02 22:58:00) 

Цели:
 Есть файл XML на основе которого нужно сделать эффект присутствия составных типов данных(на базе основных)

часть кода XML:
<compound name="Header">
 The file header.
 <add name="Header String" type="HeaderString">'File Format x.x.x.x' (versions <= 10.0.1.2). Ends with a newline character (0x0A).</add>
 <add name="Copyright" type="LineString" arr1="3" ver2="3.1" />
 <add name="Version" type="FileVersion" default="0x04000002" ver1="3.3.0.13">The version, in hexadecimal notation: 0x04000002</add>
 <add name="Endian Type" type="EndianType" default="ENDIAN_LITTLE" ver1="20.0.0.4">Determines the endianness of the data in the file.</add>
 <add name="User Version" type="uint" ver1="10.1.0.0">An extra version number, for companies that decide to modify the file format.</add>
 <add name="Num Blocks" type="uint" ver1="3.3.0.13">Number of file objects.</add>
 <add name="User Version 2" type="uint" default="0" cond="(User Version == 10) || (User Version == 11)" ver1="10.1.0.0">This also appears to be the extra user version number and must be set in some circumstances. Probably used by Bethesda to denote the Havok version.</add>
 <add name="Unknown Int 3" type="uint" default="0" ver1="30.0.0.2">Unknown. Possibly User Version 2?</add>
 <add name="Export Info" type="ExportInfo" ver1="10.0.1.2" ver2="10.0.1.2" />
 <add name="Export Info" type="ExportInfo" ver1="10.1.0.0" cond="(User Version == 10) || (User Version == 11)" />
 <add name="Num Block Types" type="ushort" ver1="10.0.1.0">Number of object types in this NIF file.</add>
 <add name="Block Types" type="SizedString" arr1="Num Block Types" ver1="10.0.1.0">List of all object types used in this NIF file.</add>
 <add name="Block Type Index" type="BlockTypeIndex" arr1="Num Blocks" ver1="10.0.1.0">Maps file objects on their corresponding type: first file object is of type object_types[object_type_index[0]], the second of object_types[object_type_index[1]], etc.</add>
 <add name="Block Size" type="uint" arr1="Num Blocks" ver1="20.2.0.7">Array of block sizes?</add>
 <add name="Num Strings" type="uint" ver1="20.1.0.3">Number of strings.</add>
 <add name="Max String Length" type="uint" ver1="20.1.0.3">Maximum string length.</add>
 <add name="Strings" type="SizedString" arr1="Num Strings" ver1="20.1.0.3">Strings.</add>
 <add name="Unknown Int 2" type="uint" default="0" ver1="10.0.1.0">Unknown.</add>
 </compound>


нужно обработать файл XML, но не знаю с чего начать.
Может у кого есть наработки в этом плане?


Омлет   (2012-01-04 13:40:00) [1]

http://www.omnixml.com/


S-C-L   (2012-01-04 13:25:00) [2]

смысл в том, что в приведенном примере - описание создаваемой структуры, по которой будут загружаться данные из другого файла.

заполнение этих данных в нужном виде в коде программы - дает нужные результаты.....осталось только написать код, чтобы брать их из XML файла


Германн   (2012-01-04 02:21:00) [3]

Ах да. Ещё нужно изучить документацию по тому продукту, который сформировал тот файл XML, который ты привёл в топике.


Германн   (2012-01-04 01:53:00) [4]


> S-C-L ©   (04.01.12 01:39) [2]
>
> idomdocument - это что такое?

Раз первая буква I, значит это название интерфейса.
А "принципы парсинга" неизвестных тебе структур нужно начинать с изучения этих самых структур.


S-C-L   (2012-01-04 01:39:00) [5]

idomdocument - это что такое?

я бы хотел узнать принципы обработки(парсинга) таких документов, без использования каких-либо компонентов


sniknik   (2012-01-03 11:57:00) [6]

> но не знаю с чего начать.
idomdocument


Наверх

Титульная страница Поиск, карта сайта Написать письмо