<?xml version="1.0" encoding="utf-8"?>
<ReminderResponse>
<ActionResult>true</ActionResult>
<REMINDER>
<REMINDER_REMINDER_RECOVER_TIME>0</REMINDER_REMINDER_RECOVER_TIME>
<REMINDER_REMINDER_IS_SAVE>true</REMINDER_REMINDER_IS_SAVE>
</REMINDER>
     <REMINDER>
<REMINDER_REMINDER_RECOVER_TIME>1</REMINDER_REMINDER_RECOVER_TIME>
<REMINDER_REMINDER_IS_SAVE>false</REMINDER_REMINDER_IS_SAVE>
</REMINDER>
</ReminderResponse>
对于上面这个xml,我当如何得到REMINDER_REMINDER_RECOVER_TIME等于1的节点?

解决方案 »

  1.   

    用Delphi自带的XMLDocument(在Internet页)即可解决这个问题
      

  2.   

    uses XMLDoc, XMLIntf;var
      iDoc : IXMLDocument;
      iTop,
      iNode : IXMLNode;
      i : integer;
    begin
      iDoc := TXMLDocument.Create(nil);
      try
        with iDoc do
        begin
          LoadFromFile(你的文件);
          Active := True;
          iTop := ChildNodes['ReminderResponse'];
          for i := 0 to iTop.ChildNodes.Count - 1 do
          begin
            iNode := iTop.ChildNodes.Nodes[i];
            if iNode.NodeType <> ntElement then Exit;
            if iNode.NodeName = 'REMINDER' then
            begin
              if iNode.ChildNodes['REMINDER_REMINDER_RECOVER_TIME'].NodeValue = 1 then
                ShowMessage('Found');
            end;
          end;
        end;
      finally
        iDoc := nil;
      end;
    end;;