Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.03 c
14-1085503543
Piter
2004-05-25 20:45
2004.06.13
Пиринговые сети


6-1082888713
Khvalera
2004-04-25 14:25
2004.06.13
NMStrmServ и NMStrm


14-1085758294
Undert
2004-05-28 19:31
2004.06.13
По Mysql вопросик (из области PHP)


14-1085717670
Паниковский
2004-05-28 08:14
2004.06.13
Как влияет пол автора вопроса на ответ?


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




   Наверх