Я хочу написать некоторый код (на Delphi), чтобы получить эту схему XML, я пытался, но безрезультатно, как вы хотите, вы не могли бы мне помочь!Я использую (или хочу использовать) IXMLDocument, созданный во время выполнения, но я не могу понять "Узлы", "Дочерние узлы" ... Я знаю, это смешно!
Вот пример схемы, которую я хочу:
<Items>
<Task id="eec0-47de-91bc-98e2d69d75cd">
<Title>The title of something</Title>
<State>Done</State>
<IdNoHashed>This Is a string</IdNoHashed>
<CreatedDate>28/12/2011 06:24:57</CreatedDate>
<Note>Just a note</Note>
</Task>
<Task id="e2x5d4-2d45c-98e2d69d75cd">
<Title>Another title</Title>
<State>Done</State>
<IdNoHashed>This Is a string 2</IdNoHashed>
<CreatedDate>28/12/2011 22:22:22</CreatedDate>
<Note>Just a note, again !</Note>
</Task>
</items>
У вас есть предложение?Спасибо!
РЕДАКТИРОВАТЬ: Я попробовал код, указанный ниже, работает нормально, но когда я хочу добавить любую другую запись в Root, он перезаписывает уже существующий элемент.
Function WriteData (id, title, state, idNH : String) : Boolean;
var
Doc: IXMLDocument;
Items, Task: IXMLNode;
begin
Doc := NewXMLDocument;
Items := Doc.AddChild('Items');
Task := Items.AddChild('Task');
Task.Attributes['id'] := id;
Task.AddChild('Title').Text := title;
Task.AddChild('State').Text := state;
Task.AddChild('IdNoHashed').Text := idNH;
Task.AddChild('CreatedDate').Text := DateTimeToStr(Now);
Task.AddChild('Note').Text := 'Just a note';
end;
Я попытался DocumentElement.ChildNodes.FindNode (id), но не успешно!
Я создал функцию, которую я вызываю каждый раз, чтобы добавить / изменить запись в файле XML, запись "".Идея как мне это сделать ?!Спасибо!