1

我有SOAP如下回应

<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">
<SOAP-ENV:Header/><SOAP-ENV:Body>
<Login xmlns=\"http://s.com/sch">   
<error/>
<userid>11</userid>
</Login>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

XDocument用来解析这个SOAP。我正试图获得userid

我的代码是

XDocument xDocc = XDocument.Parse(responseSOAP);
string uid = xDocc.Descendants("userid").First().Value;

我无法获得 的值11,它只是返回给我一个NULL

4

2 回答 2

2

这应该有效:

XDocument xDocc = XDocument.Parse(responseSOAP);
XmlReader xr = xDocc.CreateReader();
xr.ReadToFollowing("userid");
string uid = xr.ReadElementString();
于 2013-07-26T11:49:44.750 回答
1

尝试这个:

var result = from p in xDocc.Descendants() 
             where p.Name.LocalName == "userid" select p.Value;
于 2013-07-26T12:36:52.303 回答