<form><摘要>该工程包括规划道路一和规划道路二2条道路等。规划道路一西起北大街,东至化龙巷,道路全长248米,一般路段道路红线宽15米,规划道路二北起东横街,南至规划道路一,道路全长179米,一般路段道路红线宽12米。工程概算总投资540万元</摘要><批准日期>2011-07-22</批准日期><批准文号>常发改行服〔2011〕164号</批准文号><发布单位>常州市发展和改革委员会</发布单位></form>这段类似于XML格式的文本如何读取各要素的值

解决方案 »

  1.   

    推荐使用NativeXML控件来解析XML文件,快捷方便。
      

  2.   

    给你个例子<?xml   version= "1.0 "   encoding= "UTF-8 "?> 
    <ROOT>
    <Student> 
        <name> zhang </name> 
        <age> 21 </age> 
       </Student>
    </ROOT>uses     XMLDoc;procedure   TForm1.Button1Click(Sender:   TObject); 
    var 
        a:   TXMLDocument; 
        b:string; 
    begin 
        a:=TXMLDocument.Create(self); 
        a.FileName:= 'D:\Student.xml '; 
        a.Active:=true; 
        b:=a.DocumentElement.ChildNodes['Student'].ChildNodes['name'].Text; 
        showmessage(b); 
        edit1.text:=b; 
        a.Free; 
    end;
      

  3.   

    用Internet页面的TXMLDocument控件用法网上一大把
      

  4.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
      xmldoc: IXMLDocument;
      xmlnode: IXMLNode;
    begin
      xmldoc := NewXMLDocument();
      xmldoc.XML.Text := '<?xml version="1.0" encoding="utf-8"?><form><摘要>该工程包括规划道路一和规划道路二2条道路等。规划道路一西起北大街,东至化龙巷,道路全长248米,一般路段道路红线宽15米,规划道路二北起东横街,南至规划道路一,道路全长179米,一般路段道路红线宽12米。工程概算总投资540万元</摘要><批准日期>2011-07-22</批准日期><批准文号>常发改行服〔2011〕164号</批准文号><发布单位>常州市发展和改革委员会</发布单位></form>';
      xmldoc.Active := True;
      xmlnode := xmldoc.DocumentElement.ChildNodes[0];
      //要什么数据就解析什么呀
    end;
      

  5.   

    to cntigercat:
       上面的代码执行时报“文本内容中发现无效字符”
      

  6.   

    悲剧,原来一直是UTF-8原因,改成gb2312就行了,烦了几天,谢谢各位了
      

  7.   

    XML中内部是使用的是UTF-8字符,输入输出指定gb2312 
      

  8.   

    NativeXML那是很强悍的。