Actually, it was pretty easy:
Xml := TXmlVerySimple.Create;
Xml.Text:=recieved_nzb;
//Each <file> section
ChildNodes := Xml.Root.ChildNodes;
for q := 0 to ChildNodes.Count - 1 do
begin
IdNNTP1.SelectGroup(ChildNodes.Items[q].Find('groups').Find('group').Text);
SegmentNodes:=ChildNodes.Items[q].Find('segments').ChildNodes;
//Each <segment> (message)
for w := 0 to SegmentNodes.Count - 1 do
begin
idNNTP1.GetArticle(SegmentNodes.Items[w].Text,IdMessage1);
IdMessage1.SaveToFile('c:\!!!!\'+SegmentNodes.Items[w].Text, false);
Application.ProcessMessages;
end;
end;