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

Вниз

Как работать с XML   Найти похожие ветки 

 
тихий вовочка ©   (2004-05-25 22:32) [0]

Где найти пример того, как использовать XML в качестве ini-файла? Посмотрел примеры с TXMLDocument и ничего не понял


 
Polevi ©   (2004-05-26 07:49) [1]

конкретнее


 
тихий вовочка ©   (2004-05-26 15:22) [2]

Конкретнее - три типа объектов, состояние которых задаваются 15 параметрами. Мне надо сохранять это состояние для последующего восстановления. Как, используя TXMLDocument, читать/писать эти состояния? Типа того, что узел "Object name = "Pipa" type = "Object1" " и подузлы "State1 = "1"", "State2 =
"access"".


 
Algol   (2004-05-26 17:23) [3]

procedure TForm1.Button1Click(Sender: TObject);
var Node:IXMLNode;
begin
XMLDocument1.XML.text:="<?xml version="1.0" encoding="windows-1251"?><doc/>";
XMLDocument1.Active:=true;
with XMLDocument1.DocumentElement.AddChild("param") do
 begin
 SetAttribute("name","param1");
 SetAttribute("value",Edit1.Text);
 end;
with XMLDocument1.DocumentElement.AddChild("param") do
 begin
 SetAttribute("name","param2");
 SetAttribute("value",Edit2.Text);
 end;
with XMLDocument1.DocumentElement.AddChild("param") do
 begin
 SetAttribute("name","param3");
 SetAttribute("value",RadioGroup1.ItemIndex);
 end;
//
XMLDocument1.SaveToFile("c:\a.xml");
end;


 
тихий вовочка ©   (2004-05-26 22:27) [4]

Спасибо. А как читать то же самое из файла? И еще - если нужно хранить двоичный код, его нужно как-то кодировать? UUE или еще что?


 
}|{yk ©   (2004-05-27 00:12) [5]

Возьми компоненты TurboPower для работы с XML. Очень удобно.
Скачать можно на sf.net


 
Layner ©   (2004-05-27 10:34) [6]

[3] Algol   (26.05.04 17:23)
Подскажи плз, как так же легко прочитать эту инфу из XML файла? Можно ли как нибудь с помощью SQL-усеченного запроса? Т.е. простая выборка SELECT... такой то ветки.


 
Cobalt ©   (2004-05-27 12:38) [7]

Есть прога от Борланда(xmlmapper.exe, D7), которая по XML почти произвольного формата делает схему преобразования для DataSet.
Подробности не помню, но преобразованный XML (или XML со схемой)можно было давать как файл для TDataSet.
Копай в эту сторону.


 
Layner ©   (2004-05-27 13:17) [8]

Cobalt ©   (27.05.04 12:38)
Спасибо, прога действительно классная!


 
Algol   (2004-05-27 16:03) [9]


> тихий вовочка ©   (26.05.04 22:27) [4]


Чтение вот:
procedure TForm1.Button2Click(Sender: TObject);
var i:Integer;
begin
XMLDocument1.LoadFromFile("c:\a.xml");
for i:=0 to XMLDocument1.DocumentElement.ChildNodes.Count-1 do
if XMLDocument1.DocumentElement<>nil then
with XMLDocument1.DocumentElement.ChildNodes[i] do
 begin
 if NodeName="param" then
   begin
   if GetAttribute("name")="param1" then Edit1.Text:=GetAttribute("value");
   if GetAttribute("name")="param2" then Edit2.Text:=GetAttribute("value");
   if GetAttribute("name")="param3" then
     RadioGroup1.ItemIndex:=GetAttribute("value");
   end;
 end;
end;


 
Algol   (2004-05-27 16:12) [10]


> Layner ©   (27.05.04 10:34) [6]


Если необходимо работать как с БД+SQL, то нужно перобразовывать в БД как указано в [7].
Однако с XML можно работать и с помощью специализированных языков, в том числе запросного типа (см XSLT, XPath), без преобразования в базу данных.


 
Layner ©   (2004-05-27 16:32) [11]

[9] Algol   (27.05.04 16:03)
За чтение спасибо, именно так я и делал. Думал, может красивей есть способ, про XSLT, XPath слышал, да руки не доходили, посмотрю.
Вот кстати, ссылка на TurboPower
http://sourceforge.net/projects/tpxmlpartner/


 
Algol   (2004-05-27 16:52) [12]


> Думал, может красивей есть способ


В принципе можно и красивее, все зависит от способа хранения данных. В данном случае как минимум есть два варианта:
Первый, это как реализовано в примере:
<doc>
<param name="param1" value="ла ла ла"/>
<param name="param2" value="ла ла ла"/>
 ...
</doc>

Но можно хранить и так:
<doc>
<param1>ла ла ла</param1>
<param2>ла ла ла</param2>
 ...
</doc>

Во втором случае чтение данных немного проще. Но есть и недостатки, все зависит от структры данных, которые нужно хранить.


 
afn ©   (2004-05-27 18:36) [13]

Сейчас покапаюсь можа бы найду ссылку. Там что-то вроде использования родного Ms XML парсера в Delph`ях. Сам то я использую DOM и SAX на ява. Если не лень поройся по теме.


 
afn ©   (2004-05-27 18:51) [14]

http://edocs.al.ru/xml/Delphi_XML.html

http://xmlhack.ru/books/xslt/ch_09_02.html

Вот посмотри может быть поможет


 
Layner ©   (2004-05-28 08:58) [15]

Спасибо! Статья вообще супер!



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

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

Наверх




Память: 0.47 MB
Время: 0.029 c
4-1083416802
Hawk
2004-05-01 17:06
2004.06.13
Перехват сообщения из окна чужого приложения


3-1084629746
ss300
2004-05-15 18:02
2004.06.13
Строковые функции хранимых процедур Interbase


1-1085915698
vidiv
2004-05-30 15:14
2004.06.13
Что ответить?? :(( (по поводу ASMа)


4-1084017989
Learner
2004-05-08 16:06
2004.06.13
Сообщение от Screen Saver


14-1085815415
Mad Dancer
2004-05-29 11:23
2004.06.13
Колосоккер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский