procedure TfrmMain.btn1Click(Sender: TObject); var TextXML:IXMLDocument; XmlRoot:IXMLNode; NodePos:IXMLNode; b:
string
; x,y:
double
; LocateInfo:TLocateInfo; begin TextXML:
=
TXMLDocument.Create(nil); TextXML.LoadFromFile(
'
c: esponse.xml
'
); XmlRoot:
=
TextXML.DocumentElement; NodePos:
=
XmlRoot.ChildNodes[
'
slia
'
].ChildNodes[
'
pos
'
]; LocateInfo.Mobile:
=
NodePos.ChildNodes[
'
msid
'
].NodeValue; LocateInfo.X :
=
NodePos.ChildNodes[
'
pd
'
].ChildNodes[
'
shape
'
].ChildNodes[
'
Point
'
].ChildNodes[
'
coord
'
].ChildNodes[
'
X
'
].NodeValue; LocateInfo.Y :
=
NodePos.ChildNodes[
'
pd
'
].ChildNodes[
'
shape
'
].ChildNodes[
'
Point
'
].ChildNodes[
'
coord
'
].ChildNodes[
'
Y
'
].NodeValue; showmessage(b); end;
//以下为示例XML文件:
<?
xml version="1.0" encoding="gb2312"
?>
<
svc_result
ver
="1.0.0"
>
<
hdr
ver
="1.0.0"
>
<
sessionid
>
10587695901453864860
</
sessionid
>
</
hdr
>
<
slia
ver
="1.0.0"
>
<
pos
>
<
msid
type
="MSISDN"
enc
="ASC"
>
13999991113
</
msid
>
<!--
返回结果的手机号码
-->
<
pd
>
<
time
utc_off
="+0800"
>
20030721143954
</
time
>
<
shape
>
<
Point
gid
="some_thing"
srsName
="www.epsg.org#4326"
>
<
coord
>
<!--
返回的经纬度
-->
<
X
>
116.21392
</
X
>
<
Y
>
40.22050
</
Y
>
</
coord
>
</
Point
>
</
shape
>
</
pd
>
</
pos
>
<
msid_status
>
M_NORMAL
</
msid_status
>
<
roam_city
>
010
</
roam_city
>
</
slia
>
</
svc_result
>