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...
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...
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>