目的:vb调用C#的web service的GetDS方法(返回DataSet类型,xml形式),读取数据后保存至本地数据库;
//web service method[WebMethod]
public DataSet GetDS()
{

System.Data.DataSet dsGCGL=new DataSet();
dbDAP1=new System.Data.Odbc.OdbcDataAdapter("select * from jtxm order by gc_id asc",dbConn);
            dbDAP1.Fill(dsGCGL,"JTXM");
return dsGCGL;
}//生成的xml
  <?xml version="1.0" encoding="utf-8" ?> 
- <DataSet xmlns="http://tempuri.org/">
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="zh-CN">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="JTXM">
- <xs:complexType>
- <xs:sequence>
  <xs:element name="GC_ID" type="xs:int" minOccurs="0" /> 
  <xs:element name="GCLB" type="xs:string" minOccurs="0" /> 
  <xs:element name="GCXZ" type="xs:string" minOccurs="0" /> 
  <xs:element name="GCMC" type="xs:string" minOccurs="0" /> 
  <xs:element name="GSJE" type="xs:double" minOccurs="0" /> 
  <xs:element name="JSNR" type="xs:string" minOccurs="0" /> 
  <xs:element name="REMARK" type="xs:string" minOccurs="0" /> 
  <xs:element name="GCLX" type="xs:dateTime" minOccurs="0" /> 
  <xs:element name="JDZT" type="xs:string" minOccurs="0" /> 
  <xs:element name="XMJL" type="xs:string" minOccurs="0" /> 
  <xs:element name="CKRQ" type="xs:dateTime" minOccurs="0" /> 
  <xs:element name="IS_TD" type="xs:string" minOccurs="0" /> 
  <xs:element name="TDFW" type="xs:string" minOccurs="0" /> 
  <xs:element name="GWRQ" type="xs:dateTime" minOccurs="0" /> 
  <xs:element name="GWBH" type="xs:string" minOccurs="0" /> 
  <xs:element name="GCNR" type="xs:string" minOccurs="0" /> 
  <xs:element name="YQYS" type="xs:int" minOccurs="0" /> 
  <xs:element name="SGSJ" type="xs:int" minOccurs="0" /> 
  <xs:element name="TZQK" type="xs:string" minOccurs="0" /> 
  <xs:element name="QTQK" type="xs:string" minOccurs="0" /> 
  <xs:element name="MEMO" type="xs:string" minOccurs="0" /> 
  <xs:element name="GSRQ" type="xs:dateTime" minOccurs="0" /> 
  <xs:element name="GSR" type="xs:string" minOccurs="0" /> 
  <xs:element name="SGDW" type="xs:string" minOccurs="0" /> 
  <xs:element name="GSYJ" type="xs:string" minOccurs="0" /> 
  <xs:element name="GSBG" type="xs:dateTime" minOccurs="0" /> 
  <xs:element name="GSYY" type="xs:string" minOccurs="0" /> 
  <xs:element name="GSRQ_E" type="xs:dateTime" minOccurs="0" /> 
  <xs:element name="QCRQ" type="xs:dateTime" minOccurs="0" /> 
  <xs:element name="QSBM" type="xs:string" minOccurs="0" /> 
  <xs:element name="ZJRQ" type="xs:dateTime" minOccurs="0" /> 
  <xs:element name="ZJYY" type="xs:string" minOccurs="0" /> 
  <xs:element name="GCBBH" type="xs:string" minOccurs="0" /> 
  <xs:element name="EPLANID" type="xs:int" minOccurs="0" /> 
  <xs:element name="TREASON" type="xs:string" minOccurs="0" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  </xs:choice>
  </xs:complexType>
  </xs:element>
  </xs:schema>
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
- <NewDataSet xmlns="">
- <JTXM diffgr:id="JTXM1" msdata:rowOrder="0">
  <GC_ID>1050001</GC_ID> 
  <GCLB>局投工程</GCLB> 
  <GCXZ>计配工程</GCXZ> 
  <GCMC>135银泰线切割工程(2005-005)</GCMC> 
  <REMARK>要求竣工日期2005年5月底</REMARK> 
  <GCLX>2005-01-07T00:00:00.0000000+08:00</GCLX> 
  <JDZT>项目查勘</JDZT> 
  <XMJL>叶涛</XMJL> 
  <CKRQ>2005-03-07T00:00:00.0000000+08:00</CKRQ> 
  </JTXM>
  </NewDataSet>
  </diffgr:diffgram>
  </DataSet>//vb调用
引用Microsoft Soap Type Library 3.0, MS xml 2.0
Private Sub GetworkFromService()
  Dim SoapClient As New SoapClient30
  Dim xmlRD As New SoapReader30
  Dim Getted As Boolean
  On Error GoTo ERR
    
  Call SoapClient.MSSoapInit(WSDL_URL, "", "")
  //WSDL_URL:http://localhost/gcgl/gcglSVC.asmx?WSDL
    
    Dim xmlDoc As New DOMDocument
    Dim xmlList As IXMLDOMNodeList
    Dim xmlNode As IXMLDOMNode
    Dim xmlElem As IXMLDOMElement
    
    Set xmlList = SoapClient.GetDS()
    
    //以下方法可以成功
    MsgBox Trim(xmlList.Item(1).childNodes(0).childNodes(0).childNodes(1).nodeTypedValue)   'xmlDoc.loadxml WSDL_URL    //这种方法错误ERR:
  If ERR.Number <> 0 Then
    MsgBox "从业扩系统导入数据失败:" & ERR.Description, vbCritical + vbOKOnly, "警告"
    Exit Sub
  End If
    
End Sub需解决的问题:
是否非得按以上的方法每个节点读出来后,再存入数据库,有没有其他好的方法?