字符串的内容如下:<?xml version="1.0" encoding="GB2312"?>
<Root><我的客户反馈信息><号码>13716187476</号码><业务号码>837228</业务号码><内容>请问传真件怎么会发不过来?</内容><位置>5412275</位置><时间>06090110124000</时间></我的客户反馈信息></Root>字符串是从某网上信息平台上收到的。我现在想取得其中的号码、内容和位置里面的的信息,我用的方法是,先把上面这个字符串赋给String类型的s,然后用以下方法来取值:MidStr(s,pos('<号码>',s)+4,11);可取到的值总是会差很远。那位高人指教一下。(本人从未学过Delphi,请回复的各位大仙留下详细的步骤和代码,多谢)

解决方案 »

  1.   

    手头没有Delphi
    不过用pos()+copy()就可以搞定了
      

  2.   

    读取xml就不要用什么pos函数,用Internet页的XMLDocument:var RootNode:IXMLNode;
    begin
      XMLDocument1.LoadFromFile('c:\test.xml');
      RootNode:= XMLDocument1.DocumentElement.ChildNodes.FindNode('我的客户反馈信息');
      ShowMessage(RootNode.ChildNodes.FindNode('号码').Text);
      ShowMessage(RootNode.ChildNodes.FindNode('业务号码').Text);
      //如此类推...
    end;
      

  3.   

    问题已经解决了,我是这么做的:
    var  RootNode:IXMLNode;
    begin
    XMLDocument1.XML.Text :=s; //s就是上文所说的String类型的XML
    XMLDocument1.Active:=true;
    RootNode:= XMLDocument1.DocumentElement.ChildNodes.FindNode('我的客户反馈信息');
    ShowMessage(RootNode.ChildNodes.FindNode('号码').Text);
    ...类推
    end;主要的解决思路是参考了liangqingzhi大大的方法,在此表示感谢,并献上95分。
    另外也对andyzhou1101大大的热情和快速回应表示感谢。献上5分。
    就此结贴。