Programy
Delphi
Windows Mobile
Urządzenia
Modelarstwo
Różności
<tag1> <dana1>abc</dana1> </tag1> <tag2> <dana1>def</dana1> </tag2> <tag3> <dana1>ghi</dana1> </tag3>
<tag1> <dana1>wartość</dana1> <dana2> <cośtam1 attr="test"> <![CDATA[ <teścik ;))> ]]> </dana2> <dana3 /> </tag1> <tag2 />Format wyjściowy jest konfigurowalny (tekst końca linii, wcięcia, skrócony zapis elementów, pomijanie pustych elementów, itp).
<tag1> <dana1>wartość <dana2> <cośtam1 attr="test"> <![CDATA[ <teścik ;))> ]]> <data>inna wartość </dana2> <data>jeszcze inna wartość <dana3 /> </tag1> <tag2 />
/ZAPIS/
var xml : TpkXML;
begin
xml := TpkXML.Create;
try
// wszystkie poniższe node "costam" odwołują się do jednego
// elementu
xml.NodeByName('costam').Value := 'TEST';
xml.NodeByName('costam').AttrByName('id').Value := '1';
xml.NodeByName('costam').NodeByName('pole1').Value := 'xyz';
xml.NodeByName('costam').NodeByName('pole2').Value := 'xyz2';
// albo szybciej (nie sprawdza czy node już jest)
with xml.Append('costam2') do
begin
Append('costam').ValueInt := 1;
Append('costam').ValueBool := false; // utworzy drugi node
// o nazwie "costam"
Append('costam innego').ValueExt := 1.6;
end;
xml.unicode := true; // wymuszam użycie unicode
xml.SaveToFile('c: est.xml');
finally
xml.free;
end;
/ODCZYT/
var xml : TpkXML;
i : Integer;
begin
xml := TpkXML.Create;
try
xml.LoadFromFile('c: est.xml');
// xml.unicode zawiera informacje czy to unicode czy nie
i := xml.NodeByName('costam').GetValueIntDf(0));
ShowMessage(xml.NodeByAttr('costam').NodeByAttr('pol2').Value);
ShowMessage(xml.NodeByAttr('costam', ['id'], ['1']).Value);
finally
xml.free;
end;