起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 170|回复: 4

[请求]以下XML如何取到值

[复制链接]
发表于 2009-8-6 17:44:11 | 显示全部楼层 |阅读模式
我写的代码,childNodes[0] 有没有像 getChild("SPID") 这样子的方法 ,有如何写??
procedure TMainForm.Button2Click(Sender: TObject);
Var
  XmlData: string;
  XMLDocument1:TXMLDocument;
  Data: IXMLDOMDocument;
  xm : TXMLDocument;
begin

     Data := ComObj.CreateOleObject('Microsoft.XMLDOM') as IXMLDOMDocument;
     //data.LoadXml(XmlData);
     data.load('c:\zpsi002.xml');
     data.Get_xml;
     try
     data.documentElement.selectSingleNode('//ERP'). ;

      dialogs.ShowMessage(data.documentElement.Get_childNodes.item[0].Get_nodeName);
     data.documentElement.Get_childNodes.Get_length;
     data.documentElement.Get_childNodes.item[0].childNodes[0].Get_text;
     dialogs.ShowMessage(data.documentElement.Get_childNodes.item[0].Get_nodeName);
     data.documentElement.Get_childNodes.item[0].Get_childNodes.Get_length;
     dialogs.ShowMessage(data.documentElement.Get_childNodes.item[0].childNodes[0].Get_nodeName);
     dialogs.ShowMessage(data.documentElement.Get_childNodes.item[0].childNodes[0].Get_text);

      finally
        Data :=nil;
      end;


end;


===========================================
  <?xml version="1.0" encoding="UTF-8" ?>
- <!--  edited with XMLSPY v5 U (http://www.xmlspy.com) by et8 (et8)
  -->
- <ERP>
+ <ZPSI001>
  <SPID>501300090017</PSPID>
  <ZPROJ>sssd</ZPROJ>
  <BUKRS>sss</BUKRS>
  <VERNA>sss1</VERNA>
  <OSID>501300090017.1</POSID>
  <OST1>501300090017.1</POST1>
  <DDTEXT />
  <ZZMAINWBS />
  <EQUNR />
  <ANLN1 />
  <TXT50>501300090017.1</TXT50>
  <ZZANLKL>00140100</ZZANLKL>
  <TXK20>1111</TXK20>
  <EQUNADD />
  <EQUNSEQ />
  <ZZKOSTL>11111</ZZKOSTL>
  <HERST />
  <TYPBZ />
  <MAPAR />
  <MAPADT />
  <ORD43>1</ORD43>
  <MENGE>1</MENGE>
  <MEINS>&#808;</MEINS>
  <ZZFXZZC />
  <INVZU />
  <RAUMN />
  <INBDT>00000000</INBDT>
  <ARBPL />
  <EQART />
  <SWERK />
  <GEWRK />
  <KOSTL1 />
  <TPLNR />
  <IZWEK>sss</IZWEK>
  </ZPSI001>
+ <ZPSI002>
  <SPID>501300090018</PSPID>
  <ZPROJ>sssf</ZPROJ>
  <BUKRS>sst</BUKRS>
  <VERNA>sss3</VERNA>
  <OSID>501300090017.2</POSID>
  <OST1>sdfsdf</POST1>
  <DDTEXT />
  <ZZMAINWBS />
  <EQUNR />
  <ANLN1 />
  <TXT50>ddd</TXT50>
  <ZZANLKL>00140100</ZZANLKL>
  <TXK20>22222</TXK20>
  <EQUNADD />
  <EQUNSEQ />
  <ZZKOSTL>111111</ZZKOSTL>
  <HERST />
  <TYPBZ />
  <MAPAR />
  <MAPADT />
  <ORD43>1</ORD43>
  <MENGE>1</MENGE>
  <MEINS>&#808;</MEINS>
  <ZZFXZZC />
  <INVZU />
  <RAUMN />
  <INBDT>00000000</INBDT>
  <ARBPL />
  <EQART />
  <SWERK />
  <GEWRK />
  <KOSTL1 />
  <TPLNR />
  <IZWEK />
  </ZPSI002>
  </ERP>
回复

使用道具 举报

发表于 2009-8-6 17:51:42 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-6 17:54:09 | 显示全部楼层
dialogs.ShowMessage(data.documentElement.getElementsByTagName('Develop').item[0].childNodes[1].Get_attributes.getNamedItem('UserID').text);

getNamedItem('UserID').text是取<VSS UserID="ADMIN"/>这种格式
不是我想要的 我的是<SPID>501300090017</PSPID>
回复 支持 反对

使用道具 举报

发表于 2009-8-6 18:04:54 | 显示全部楼层
getElementsByTagName
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-6 20:57:38 | 显示全部楼层
data.documentElement.getElementsByTagName('ZPROJ').item.text
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 08:36 , Processed in 0.038613 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表