Moin zusammen,
sorry für den Titel aber es ist mir nichts besseres eingefallen.
Ich möchte gerne folgende
XML Datei erzeugen.
XML-Code:
<?
xml version="1.0" encoding="ISO-8859-1" ?>
<subsubitems>
<column>
<item_1>
<visible>1</visible>
<position>1</position>
<width>120</width>
</item_1>
<item_2>
<visible>1</visible>
<position>1</position>
<width>120</width>
</item_2>
</column>
</subsubitems>
Leider gelingt es mir nicht. Ich bekomme nur folgende Struktur hin.
XML-Code:
<?
xml version="1.0" encoding="ISO-8859-1" ?>
<subsubitems>
<column>
<item_1>
<visible>1</visible>
<position>1</position>
<width>120</width>
</item_1>
</column>
<column>
<item_2>
<visible>1</visible>
<position>2</position>
<width>240</width>
</item_2>
</column>
</subsubitems>
Dies ist mein Code.
Delphi-Quellcode:
...
ColumnName := 'item_1';
xmlNode := xmlDoc.documentElement.selectSingleNode('/subsubitems/columns/'+ColumnName);
if Assigned(xmlNode) then
begin
try
xmlNode.selectSingleNode('visible').Text := '1';
xmlNode.selectSingleNode('position').Text := '1';
xmlNode.selectSingleNode('width').Text := '120';
except
//
end;
end
else
begin
NewItem := xmlDoc.createElement('column');
NewItemSub := xmlDoc.createElement(ColumnName);
NewSub := xmlDoc.createElement('visible');
NewSub.text := '1';
NewItemSub.appendChild(NewSub);
NewSub := xmlDoc.createElement('position');
NewSub.text := '1';
NewItemSub.appendChild(NewSub);
NewSub := xmlDoc.createElement('width');
NewSub.text := '120';
NewItemSub.appendChild(NewSub);
NewItem.appendChild(NewItemSub);
xmlDoc.documentElement.appendChild(NewItem);
end;
ColumnName := 'item_2';
xmlNode := xmlDoc.documentElement.selectSingleNode('/subsubitems/columns/'+ColumnName);
if Assigned(xmlNode) then
begin
try
xmlNode.selectSingleNode('visible').Text := '2';
xmlNode.selectSingleNode('position').Text := '2';
xmlNode.selectSingleNode('width').Text := '240';
except
//
end;
end
else
begin
NewItem := xmlDoc.createElement('column');
NewItemSub := xmlDoc.createElement(ColumnName);
NewSub := xmlDoc.createElement('visible');
NewSub.text := '2';
NewItemSub.appendChild(NewSub);
NewSub := xmlDoc.createElement('position');
NewSub.text := '2';
NewItemSub.appendChild(NewSub);
NewSub := xmlDoc.createElement('width');
NewSub.text := '240';
NewItemSub.appendChild(NewSub);
NewItem.appendChild(NewItemSub);
xmlDoc.documentElement.appendChild(NewItem);
end;
xmlDoc.save(AppPath + XML_FNAME);
Wie muss ich meinen Code ändern, dass ich die 1. Struktur bekomme? Ich habe schon ne Menge probiert aber leider ohne Erfolg.
Vielen Dank im voraus.
Sven