如下的一个xml文件,我需要读取 <ROWDATA>里的数据(项目名、参考值、结果等)该怎么做?第一次接触xml,望说的详细点<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
- <DATAPACKET Version="2.0">
- <METADATA>
- <FIELDS>
<FIELD attrname="TJBH" fieldtype="string" WIDTH="50" />
<FIELD attrname="SAMPLENO" fieldtype="string" WIDTH="10" />
<FIELD attrname="SAMPLEID" fieldtype="i4" />
<FIELD attrname="病人ID" fieldtype="string" WIDTH="40" />
<FIELD attrname="XM" fieldtype="string" WIDTH="26" />
<FIELD attrname="XB" fieldtype="string" WIDTH="20" />
<FIELD attrname="NL" fieldtype="string" WIDTH="42" />
<FIELD attrname="XMBH" fieldtype="string" WIDTH="10" />
<FIELD attrname="XMMC" fieldtype="string" WIDTH="50" />
<FIELD attrname="XMJG" fieldtype="string" WIDTH="20" />
<FIELD attrname="CKFW" fieldtype="string" WIDTH="41" />
<FIELD attrname="参考上" fieldtype="string" WIDTH="20" />
<FIELD attrname="参考下" fieldtype="string" WIDTH="20" />
<FIELD attrname="单位" fieldtype="string" WIDTH="10" />
<FIELD attrname="GDBJ" fieldtype="string" WIDTH="10" />
<FIELD attrname="JYYS" fieldtype="string" WIDTH="10" />
<FIELD attrname="SHYS" fieldtype="string" WIDTH="10" />
<FIELD attrname="SHRQ" fieldtype="dateTime" />
<FIELD attrname="就诊类别" fieldtype="i4" />
<FIELD attrname="检验时间" fieldtype="dateTime" />
<FIELD attrname="实验项目码" fieldtype="string" WIDTH="10" />
<FIELD attrname="实验项目" fieldtype="string" WIDTH="100" />
</FIELDS>
<PARAMS />
</METADATA>
- <ROWDATA>
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3060" XMMC="乙肝表面抗原" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3160" XMMC="乙肝表面抗体" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3061" XMMC="乙肝e抗原" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3063" XMMC="乙肝e抗体" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3062" XMMC="乙肝核心抗体" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3005" XMMC="乙肝核心抗体IGM" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
</ROWDATA>
</DATAPACKET>
- <DATAPACKET Version="2.0">
- <METADATA>
- <FIELDS>
<FIELD attrname="TJBH" fieldtype="string" WIDTH="50" />
<FIELD attrname="SAMPLENO" fieldtype="string" WIDTH="10" />
<FIELD attrname="SAMPLEID" fieldtype="i4" />
<FIELD attrname="病人ID" fieldtype="string" WIDTH="40" />
<FIELD attrname="XM" fieldtype="string" WIDTH="26" />
<FIELD attrname="XB" fieldtype="string" WIDTH="20" />
<FIELD attrname="NL" fieldtype="string" WIDTH="42" />
<FIELD attrname="XMBH" fieldtype="string" WIDTH="10" />
<FIELD attrname="XMMC" fieldtype="string" WIDTH="50" />
<FIELD attrname="XMJG" fieldtype="string" WIDTH="20" />
<FIELD attrname="CKFW" fieldtype="string" WIDTH="41" />
<FIELD attrname="参考上" fieldtype="string" WIDTH="20" />
<FIELD attrname="参考下" fieldtype="string" WIDTH="20" />
<FIELD attrname="单位" fieldtype="string" WIDTH="10" />
<FIELD attrname="GDBJ" fieldtype="string" WIDTH="10" />
<FIELD attrname="JYYS" fieldtype="string" WIDTH="10" />
<FIELD attrname="SHYS" fieldtype="string" WIDTH="10" />
<FIELD attrname="SHRQ" fieldtype="dateTime" />
<FIELD attrname="就诊类别" fieldtype="i4" />
<FIELD attrname="检验时间" fieldtype="dateTime" />
<FIELD attrname="实验项目码" fieldtype="string" WIDTH="10" />
<FIELD attrname="实验项目" fieldtype="string" WIDTH="100" />
</FIELDS>
<PARAMS />
</METADATA>
- <ROWDATA>
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3060" XMMC="乙肝表面抗原" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3160" XMMC="乙肝表面抗体" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3061" XMMC="乙肝e抗原" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3063" XMMC="乙肝e抗体" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3062" XMMC="乙肝核心抗体" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
<ROW TJBH="JY0000000003" SAMPLENO="3" SAMPLEID="3" 病人ID="JY0000000003" XM="tj01" XB="男" NL="未知" XMBH="3005" XMMC="乙肝核心抗体IGM" XMJG="阴性" JYYS="admin" SHYS="admin" SHRQ="20081016T00:00:00000" 就诊类别="5" 检验时间="20081016T00:00:00000" 实验项目码="10956" 实验项目="ABO血型鉴定" />
</ROWDATA>
</DATAPACKET>
var
Doc: TXMLDocument;
SubNode, CurNode, Node: IXMLNode;
I: Integer;
begin
Doc := TXMLDocument.Create(nil);
Doc.Active := False;
Doc.LoadFromXML('上面你的XML内容');
Doc.Active := True; Node := Doc.DocumentElement;
CurNode := Node.ChildNodes.FindNode('ROWDATA');
if CurNode <> nil then Exit; for I := 0 to CurNode.ChildNodes.Count - 1 do
begin
SubNode := CurNode.ChildNodes.Nodes[I];
项目名称 := SubNode.Attributes['XMMC'];
//.........
end;
end;
http://192.168.10.10/lis/XMLSelect.ashx?SQL=select * from vi_jyjg t where t.Tjbh='体检编号'该用什么控件好一些,直接读取,还是另存一个文件出来?
comobj;
function GetData(url:string): string;
var
responseText: WideString;
xmlHttp: oleVariant;
begin
Result:='';
try
xmlHttp:=CreateOleObject('Msxml2.XMLHTTP');
xmlHttp.open('GET',url,false);
xmlHttp.send();
responseText:=xmlHttp.responseText;
if xmlHttp.status='200' then
begin
Result:=responseText;
end;
xmlHttp := Unassigned;
except
Result:='';
end;
end;--调用
GetData('http://192.168.10.10/lis/XMLSelect.ashx?SQL=select * from vi_jyjg t where t.Tjbh=''体检编号''');
var
responseText: WideString;
xmlHttp: oleVariant;
begin
Result:='';
try
xmlHttp:=CreateOleObject('Msxml2.XMLHTTP');
xmlHttp.open('GET',url,false);
xmlHttp.send();
responseText:=xmlHttp.responseText;
if xmlHttp.status='200' then
begin
Result:=responseText;
end;
xmlHttp := Unassigned;
except
Result:='';
end;
end;