Текущий архив: 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