Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Научите работать с XML как с SQL? Если такое возможно?   Найти похожие ветки 

 
Layner ©   (2004-04-16 14:23) [0]

Т.е. я сейчас парсирую XML файлы на уровне текста {:(} А возможно ли задать запрос, и он вытащит данные в виде таблицы на DBGrid, как ADO Query например возвращает в DBGrid результат выборки.


 
Delirium ©   (2004-04-16 15:37) [1]

О каком именно XML речь ?


 
Соловьев ©   (2004-04-16 15:43) [2]

TCustomClientDataSet.LoadFromFile


 
Sergey_Masloff   (2004-04-16 16:16) [3]

xpath не то?


 
Ломброзо ©   (2004-04-16 23:23) [4]

Microsoft OLE DB Simple Provider. Позволяет работать с XML как с таблицей и выполнять простенькие SQL (не XPath) запросы, если в качетсве источника данных ему указать XML-файл. Я с ним не работал, так, поигрался чуть-чуть... Инсерты он делать не позволяет, апдейты - точно не скажу.
Подробности в MSDN.


 
Layner ©   (2004-04-20 15:03) [5]

Ломброзо
Подскажи, плз, как подконектится к файлу, с помощью Microsoft OLE DB Simple Provider?
Далаю UDL файл, с выбором Microsoft OLE DB Simple Provider, в DataSourse пишу название файла, тест... и никак..


 
Ломброзо ©   (2004-04-20 15:06) [6]

Завалялся у меня сохранённый топик с RSDN:

А>Здравствуйте, Andrey Makarov aka Zig, Вы писали:

AMA>>Здравствуйте, Аноним, Вы писали:

А>>>Требуется:
А>>>Иметь возможность дублировать несколько таблиц в XML формат (в разделе INI- файла думается)
А>>>При отсутствии доступа к СУБД считывать информацию, необходимую для работы программы с XML - из файла.
А>>>Иметь по возможности одинаковый доступ как к СУБД так и к XML - в смысле вычитавать информацию select-ами.

AMA>>с селектами не получится, у XMLя нет такого функционала. это не СУБД - это всего лишь язык разметки

А>>>Подскажите кто чем может, что применять, с XML никогда не работал, имею только представление

AMA>>рекомендую представление заменить на знания, а потом уже пытаться пристроить технологию в жизнь

А>>>Т.е. сейчас программа читает данные с СУБД, производит некие действия и пишет результат в базу. Хочется иметь возможность работы при временой недоступности СУБД. Т.е. результат при отстутствии СУБД будет скидываться в буферный файл, при появлении перекидываться в базу.
А>>>При отсутствии СУБД нормативная информация будет читаться с XML.

AMA>>в целом, система реализуема, схема вполне жизнеспособна

А>Сделано: (код упрощен)

А>TESTHR(CnAdoPtrReadMod.CreateInstance(__uuidof(Connection)));
А>TESTHR(rs.CreateInstance(__uuidof(Recordset)));

А>CnAdoPtrReadMod->Open(ConnectStr,""/*strMissing*/, "", adConnectUnspecified);
rs->>CursorType = adOpenKeyset;
rs->>LockType = adLockOptimistic;
А>CnAdoPtrReadMod->CommandTimeout= ConTimeOut;
rs->>Open(Cmd,_variant_t((IDispatch *)CnAdoPtrReadMod,true),/*adOpenKeyset*/adOpenForwardOnly,adLockOptimistic,adCmdText);
rs->>Save("c:\\Modulesdata.xml",adPersistXML); //Вот тут записали xml

А>//Если у субд не подключились, читаем recordset так:
А>//
А>CnAdoPtrReadMod->Open("Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;",""/*strMissing*/, "", adConnectUnspecified);
rs->>Open("c:\\Modulesdata.xml",_variant_t((IDispatch *)CnAdoPtrReadMod,true),adOpenForwardOnly,adLockOptimistic,adPersistXML);

А>//до сюда все ок, но при поытке выбирать из рекорсета - фигу

А>while(!rs->EndOfFile){
А> Id = (short)rs->Fields->GetItem((short)0)->Value;
А>...
А>}

А>я хочу, чтобы код выборки данных был один и тот же при чтении и из xml и из СУБД
А>Я на правильном пути? Может быть что то не так с флагами открытия?
А>Я так понимаю слепок recorset сделанный из субд и открытый из xml будут идентичны при проходе по recordset ?

А>Подскажите, где промах или идейные заблуждения

MSDN в общем как всегда RTFM

rs->Open("c:\\Modulesdata.xml","Provider=MSPersist;",adOpenForwardOnly,adLockOptimistic,adCmdFile);


В Delphi подключаться через TADOQuery я не пробовал, в VB через AdoControl + VideoSoft Flex Grid - работает.


 
Layner ©   (2004-04-20 15:12) [7]

Может SimpleDataSet1, вроде что то позволяет делать с XML.



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
14-1081866686
Maxim Vetera
2004-04-13 18:31
2004.05.16
К вопросу о матрице ...


1-1083158142
Николай
2004-04-28 17:15
2004.05.16
Как сделать форму невидимой?


1-1083221337
Master Paleva
2004-04-29 10:48
2004.05.16
Таскбар


6-1080281940
Demetrius2003
2004-03-26 09:19
2004.05.16
Как пробится к компьютеру в локальной сети через инет


1-1083585896
Islander
2004-05-03 16:04
2004.05.16
Какправильно показать для чужого контрола свое popup-menu?