I want to write some code (in Delphi) to get this XML scheme, I tried but no result as I want, could you help me ! I use (or want use) IXMLDocument created at runtime, but I can't understand "Nodes", "ChildNodes" ... I know, it's ridiculous !
This is the scheme example I want :
<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>
Do you have a suggestion ? Thank you !
EDIT : I Tried the code answered below, It works fine, but when I want to add any other entry in the Root, it rewrites the already-exist element.
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;
I tried DocumentElement.ChildNodes.FindNode(id), but not success !
I created a function which I call each time to add/modify an entry in the XML file, the entry is "". An idea to how can I do this ?! Thank you !