无法将SOAP请求的XML解析为数据集

本文关键字:数据集 XML SOAP 请求 | 更新日期: 2023-09-27 18:20:15

我正忙于编写一个Web服务,该服务将接受最多5个表的信息的SOAP REQUEST。

这是我提出的一个有效的SOAP REQUEST,但为了简单起见,我删除了4个XML表。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:EchoSoapRequest1>         
         <Route>  
            <Routecode>200906230000</RouteCode>
            <Date>23/06/2009</Date> 
            <type>1</type>
            <Depot_Code>'hh'</Depot_Code>
        </Route>
      </tem:EchoSoapRequest1>
   </soapenv:Body>
</soapenv:Envelope>

现在,在我的Web服务中,这是我将Route表读入数据集的尝试。到目前为止,一切都正常,我可以在变量xmlSoapRequest中看到整个REQUEST。我需要去掉每个表并保存到它们自己的数据集中,这样我就可以操作并将代码返回给客户端程序。

var xmlPayload =   xmlSoapRequest.SelectSingleNode("//Route");                  
DataSet ds = new DataSet();
ds.ReadXml(xmlPayload.innerxml); 

无法将SOAP请求的XML解析为数据集

我想明白了:)

   var xmlPayload = xmlSoapRequest.SelectSingleNode("//Route");        
    DataSet ds = new DataSet();
    XmlDocument xmldoc = new XmlDocument();
    xmldoc.LoadXml(xmlPayload.OuterXml);
    XmlNodeReader xmlread = new XmlNodeReader(xmldoc);
    ds.ReadXml(xmlread);