//自己写的函数为读取一个指定的xml文件内容,包括自动读取属性和属性值。将结果写到一个memo里。wlh 080328
//合适2级结构
function getxml(xmlfilename:string;xml:Txmldocument;memo:Tmemo):string;
var xmlnode1,rootnode:Ixmlnode;
i,j,m,n,p:integer;
nodename:string;
begin
memo.Clear ;
xml.FileName:=xmlfilename;
xml.Active:=true;
i:=0;
rootnode:= xml.DocumentElement;
xmlnode1:= xml.DocumentElement;
j:=rootnode.ChildNodes.Count;//根下有多少个一级节点
for i:=0 to rootnode.ChildNodes.Count- 1do
begin
n:=rootnode.ChildNodes.ChildNodes.Count ;//每个节点下有多少属性项
for p := 0 to n- 1do
begin
xmlnode1:=rootnode.ChildNodes.ChildNodes[p];
nodename:=xmlnode1.NodeName ;//属性项的名称
memo.Lines.Add((nodename+': '+xmlnode1.Text));//属性值
end;
memo.Lines.Add('------------------------------------------------------------------') ;
end;
end;
类似如下结构:
<NewDataSet> //根
//一级节点1
- <Table>
<Country>China</Country> //节点下属性1名称和值
<City>Beijing</City> //节点下属性2名称和值
</Table>
//一级节点2
- <Table>
<Country>China</Country>
<City>Hohhot</City>
</Table>
.....