我正在调用一个UPS web服务来计算发货,如果地址无效,服务调用将返回一个SoapException。
该SoapException具有一个具有以下XML的Detail.InnerXMl属性:
<err:Errors xmlns:err=\"http://www.ups.com/XMLSchema/XOLTWS/Error/v1.1\">
<err:ErrorDetail>
<err:Severity>Hard</err:Severity>
<err:PrimaryErrorCode>
<err:Code>111286</err:Code>
<err:Description>CAa is not a valid state for the specified shipment.</err:Description>
</err:PrimaryErrorCode>
</err:ErrorDetail>
</err:Errors>我希望从<Description>元素中提取文本。
为什么这不起作用:
try
{
}
catch (SoapException ex)
{
XmlNode node = ex.Detail.SelectSingleNode("//Description");
//node is null
}发布于 2016-08-09 23:42:57
使用LinqToXml轻松解析xml:
var errors = XDocument.Parse(yourxmlstring)
.Descendants("errors")
.Select(e => new
{
code = (int)e.Element("code"),
desc = (string)e.Element("description")
})
.ToList();https://stackoverflow.com/questions/38854840
复制相似问题