delphi解析xml格式问题

 <Responses>
  <Parameters table="数据表名称(参考附表 a)">
    <Parameter name='@字段名'>值</Parameter>
    <Parameter name='@字段名'>值</Parameter>
    ...
    <!--具体字段说明参考省基卫项目技术文档-->
  </Parameters>
  <Parameters table="数据表名称(参考附表 a)">
    <Parameter name='@字段名'>值</Parameter>
    <Parameter name='@字段名'>值</Parameter>
    ...
  </Parameters>
  ...
</Responses>

这种格式的xml delphi 如何进行解析,一脸懵逼

推荐使用QXML来解析, 因为QXML可以不需要XML头: http://blog.qdac.cc/?cat=52
QXML下载地址可以使用SVN来获取最新版本: svn://www.qdac.cc/QDAC3
无需安装, 直接设置路径引用即可

解析代码Demo:

const
  XNTS: array[TQXMLNodeType] of string = ('XML节点', '文本', '注释', 'CData');

  procedure _ShowNodeInfo(APS: string; ANode: TQXMLNode);
  var
    i, j: Integer;
    nXNA: TQXMLAttr;
  begin
    Memo2.Lines.Add(Format('%s节点名: %s 节点类型: %s 包含%d个子节点',
      [APS, ANode.Name, XNTS[ANode.NodeType], ANode.Count]));
    for j := 0 to ANode.Attrs.Count - 1 do
    begin
      nXNA := ANode.Attrs[j];
      Memo2.Lines.Add(Format('%s|属性名: %s 属性值: %s', [APS, nXNA.Name, nXNA.Value]));
    end;
    for i := 0 to ANode.Count - 1 do
    begin
      case ANode.Items[i].NodeType of
        xntText, xntComment, xntCData:
          Memo2.Lines.Add(Format('%s[%s] 节点值: %s', [APS, XNTS[ANode.Items[i].NodeType], ANode.Items[i].Text]));
        xntNode:
        _ShowNodeInfo(APS + #9, ANode.Items[i]);
      end;
    end;
    Memo2.Lines.Add('');
  end;

var
  nXDOC: TQXML;
  nStr: string;
begin
  nStr := '你要解析的XML文本';
  nXDOC := TQXML.Create;
  try
    nXDOC.Parse(nStr);
    _ShowNodeInfo('', nXDOC.Items[0]);
  finally
    nXDOC.Free;
  end;
end;