Вот через стандатрный TXMLDocument:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
doc : IXmlDocument;
rootNode : IXMLNode;
I,J : Integer;
begin
Memo1.Lines.Clear;
doc := TXMLDocument.Create(Nil);
Try
doc.LoadFromFile('c:\work\xml.xml');
doc.Active := True;
rootNode := doc.ChildNodes.FindNode('mime-types');
for I := 0 To rootNode.ChildNodes.Count-1 Do
If rootNode.ChildNodes[i].NodeName = 'mime-type' Then
Begin
Memo1.Lines.Add(rootNode.ChildNodes[i].Attributes['name']);
For J := 0 To rootNode.ChildNodes[i].ChildNodes.Count-1 Do
If rootNode.ChildNodes[i].ChildNodes[J].NodeName = 'ext' Then
Memo1.Lines.Add(' ' + rootNode.ChildNodes[i].ChildNodes[J].NodeValue);
End;
Finally
doc := Nil;
End;
end;
ЗЫ. Твой xml не правильный.
1. Он не закрыт (ну тут подозреваю, что ты просто скопировал только кусок.
2. Символ '<' недопустим внутри значения. Заменить на '<'
3. Ну и тире убрать перед тегами mime-type (как я понял, это ты просто отметил типа корневые).