![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
XMLQuery или XMLTable [D6, XML]
Delirium © (2002-01-30 15:29:00)Вот из RecordSet-а есть экспорт в XML, а есть-ли какая-либо возможность работать с этим файлом дальше, как с таблицей, на подобие CSV?
Вячеслав (2002-01-30 21:55:00) [1]В поставке D6 есть такая хрень-XML Mapper
Она из любого ХМЛ делает стандартный для Делфей датапакет.
Плюс создает файл трансформирования.
kig (2002-01-30 19:04:00) [2]По типам данных? А какие Вы встретили ограничения?
Может лучше посмотреть XDR и XSD (на www.w3c.org и в хелпе Microsoft XML 4.0 Parser SDK)? Там описаны форматы данных и их представление в XML.
Delirium (2002-01-30 18:45:00) [3]И грузит и работает (я его от туда и получаю), просто я хотел от XML получить универсальный формат таблиц, без ограничений по типам данных. К тому-же хочется, чтобы при этом не участвовали никакие библиотеки или провайдеры, так сказать - на века! До сих пор в качестветакого универсального формата я пользовал DBF4, - самостоятельно разбирал формат и ни от чего не зависел. Однако его ограничения меня достали, вот и задумал перейти на XML, однако похоже всё опять придётся делать руками :(
kig (2002-01-30 18:37:00) [4]А ADO? Не подходит (то почему?), не пробывали или не грузит?
Из какого Recordset"а получен xml?
Delirium (2002-01-30 18:27:00) [5]Ладно, допустим, вопрос-то остаётся открытым - как обойтись без ADO и тем не менее получить из этого XML TDataSet, ведь ClientDataSet его не воспринимает, да и midas.dll тянуть не охота.
Я тут обнаружил компонент, нормально раскрывающий все деревья
www.destructor.de
однако создавать самому TDataSet - лень, может кто-то уже делал подобное?
kig (2002-01-30 18:02:00) [6]2 Delirium © (30.01.02 17:52)
А мне казалось, что критерий нормальности больше подходит для ADO:
ADO 2.(5 6 и 7) - это формирование xml-данных с использованием XDR.
ADO.NET - это формирование xml-данных c использованием XSD.
:)
Delirium (2002-01-30 17:52:00) [7]О том и речь !!!
Что этот XML получен из RecordSet-а, и несовместим с "нормальным".
kig (2002-01-30 17:49:00) [8]Delirium © (30.01.02 17:02)
Очень похоже, что разгрузка делалась через ADO. По крайней мере, формат разгрузки один в один при разгрузке ADODB.Recordset. Если предположение верное, то можно проделать следующее:
Если файл
Recordset.Open("Имя файла")
Если xml уже в памяти
Создать ADODB.Stream
Stream.Open
Stream.WriteText(xml)
Stream.position = 0
Recordset.Open(Stream)
Delirium (2002-01-30 17:02:00) [9]Я ведь говорю не про :
<?xml version="1.0" standalone="yes"?> <DATAPACKET Version="2.0">
а про :
<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset"
xmlns:z="#RowsetSchema">
Delirium (2002-01-30 16:31:00) [10]Ну и ... где пример подключения ?
alexts (2002-01-30 16:00:00) [11]конечно есть. берешь clientdataset и подключаешь к нему xml файл