1.如何在一个文本文件(已读到MEMO中)中,在其中一句<CONFID>A<CONFID>之间A的位置加入EDIT里的内容?<CONFID> <CONFID>的具体位置不清楚,但是肯定这句语句头尾均为<confid> 
2.如何判断上面的文本中<CONFID>A<CONFID>,A的值为多少?(此A是程序自动写入的,不同与问题1)
3.如何获得在几段连续的头尾标志都相同的文本中,<CONFID>X<CONFID>中的值分别对应哪一段,例如:
 段1 <part>
     .....
    <CONFID>A<CONFID
     .....
     <part>
 段2<part>
     .....
    <CONFID>B<CONFID
     .....
     <part>
段3<part>
     .....
    <CONFID>C<CONFID
     .....
     <part>
   .
   .
   .
想判断出A,B,C...分别属于段1.段2,段3...

解决方案 »

  1.   

    还是用xml吧,很简单的,找节点,填入数值
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      NodeSelect1: IDOMNodeSelect;
      NodeList1: IDOMNodeList;
      iNode1: IDOMNode;
      PathStr1: String;
      i: integer;
    begin
      XMLDocument1.FileName := ExtractFilePath (Application.ExeName)+'exp_file.xml';
      XMLDocument1.Active := true;
      Memo1.Lines := XMLDocument1.XML;  //看結果  PathStr1 := '/Import/Row/Caption';
      NodeSelect1 := XMLDocument1.DOMDocument as IDOMNodeSelect;
      NodeList1 := NodeSelect1.selectNodes(PathStr1);  for i := 0 to NodeList1.length - 1 do   //<Row>
      begin
        iNode1 := NodeList1.item[i];
        memo1.Lines.Add(iNode1.nodeName + '=' + iNode1.childNodes.item[0].nodeValue);
      end;
    end;説明:在Form中先放一個TXMLDocument控件、然後再COPY下面的DEMO用的'exp_file.xml'、執行一下<?xml version="1.0" encoding="gb2312"?>
    <Import>
    <Row>
    <Caption>01011010</Caption>
    <類別>香烟</類別>
    <价格>10</价格>
    <名称>黄山</名称>
    </Row>
    <Row>
    <Caption>01015642</Caption>
    <類別>香烟</類別>
    <价格>12</价格>
    <名称>五叶神</名称></Row>
    </Import>
      

  3.   

    補助説明:NI的那個”文本文件”、不是標準的XML、会出ERROR...
      

  4.   

    一定要用XML的方法吗?只是想在某个位置插入和判断一个字符啊,该文本已经是用普通的文本文件打开了
      

  5.   

    建议用xml,用文本文件有点难度