小编Gav*_*vin的帖子

使用C#解析SOAP响应

我试图从下面的SOAP获取faultcode,faultstring和OrderNumber的值

<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP:Body>
        <faultcode>1234</faultcode> 
        <faultstring>SaveOrder:SetrsOrderMain:Cannot change OrderDate if GLPeriod is closed, new OrderDate is 3/2/2010:Ln:1053</faultstring>               
        <detail>
           <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
           <SOAP:Body UserGUID="test">
           <m:SaveOrder xmlns:m="http://www.test.com/software/schema/" UserGUID="test">
                <Order OrderNumber="1234-1234-123" Caller="" OrderStatus="A" xmlns="http://www.test.com/software/schema/">
Run Code Online (Sandbox Code Playgroud)

这是我在C#中的代码

XDocument doc = XDocument.Load(HttpContext.Current.Server.MapPath("XMLexample.xml"));

var errorDetail = new EcourierErrorDetail
{
   FaultCode = from fc in doc.Descendants("faultcode")
               select fc.Value,
   FaultString = from fs in c.Descendants("faultstring")
                 select fs.Value,
   OrderNumber = from o in    
                 doc.Descendants("detail").Elements("Order").Attributes("OrderNumber")
                 select o.Value
};
return errorDetail;
Run Code Online (Sandbox Code Playgroud)

我能够获取faultcode和faultstring的值,但不能获取OrderNumber的值.我得到"枚举没有结果." 有人可以帮忙吗?谢谢.

c# soap

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

c# ×1

soap ×1