小弟用delphi 编程,用WebBrowse打开一个网页后,其返回了一个xml格式的网页,内容如下:   
      <?xml   version="1.0"   encoding="ISO-8859-1"   ?>     
  -   <sms-http>   
  -   <submit-resp>   
      <status>17</status>     
      <description>Invalid   password</description>     
      </submit-resp>   
      </sms-http> 
      
  我想把这些数据读出来,由于这是xml格式的,以前我没有接触过这方面的编程,所以不懂得怎么读取里边的数据
在上面的内容中,我期望读出来的数据结果如下:
    status=17
       description=invalid password
 请问如果操作啊?
急,在线等啊!!!

解决方案 »

  1.   

    使用xml dom对象,还有一个简单的方法你可以用clientdataset读取他
      

  2.   

    uses
      xmldom, XMLIntf, msxmldom, XMLDoc;var
      s:widestring;
      xmlDoc:TXMLDocument;
      strStream:TStringStream;
      tempXNode,Node: IXmlNode;
    begin
      s:='<?xml version="1.0" encoding="ISO-8859-1" ?>'+
         ' <sms-http>'+
         '   <submit-resp>'+
         '      <status>17</status>'+
         '      <description>Invalid password </description>'+
         '   </submit-resp>'+
         ' </sms-http>';
      xmlDoc:=TXMLDocument.Create( Owner );
      strStream:=TStringStream.Create(s);
      try
        xmlDoc.LoadFromStream( strStream );
        xmlDoc.Active:= True;
        tempXNode:=xmlDoc.DocumentElement;
        Node:=tempXNode.ChildNodes.FindNode('submit-resp');
        showmessage(Node.ChildNodes.FindNode('status').Text);
        showmessage(Node.ChildNodes.FindNode('description').Text);
      finally
        XmlDoc.Free;
        strStream.Free;
      end;
    end;
      

  3.   

    TXMLDocument 在控件的Internet标签页
      xmlLog:TXMLDocument ;
      logResult:Integer ;
      tsServer:TStringList ;
      htmlText:WideString;
    begin
      Try
        xmlLog:=TXMLDocument.Create(nil);
        htmlText := wbLogin.OleObject.Document.XMLDocument.documentElement.XML ;
        xmlLog.XML.Text := htmlText;
        xmlLog.Encoding := 'gb2312';
        xmlLog.Active := true;
        logResult := StrToIntDef(xmlLog.DocumentElement.ChildNodes[0].Text, -1);
      except  end;  if Assigned(xmlLog) then
        FreeAndNil(xmlLog);