0

我有这种 SoapException

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <soap:Fault>
            <faultcode>soap:Server</faultcode>
            <faultstring>Fault occurred while processing.</faultstring>
            <detail>
                <ns1:WaybillRegistrationFault xmlns:ns1="http://pod.waybillmanagement.ws.industrysystem.com.ar/">
                    <errors xmlns:ns2="http://pod.waybillmanagement.ws.industrysystem.com.ar/">
                        <code>80000</code>
                        <description>El número de CTG 59455243 ya existe</description>
                    </errors>
                    <errors xmlns:ns2="http://pod.waybillmanagement.ws.industrysystem.com.ar/">
                        <code>1000</code>
                        <description>Unexpected Error</description>
                    </errors>
                </ns1:WaybillRegistrationFault>
            </detail>
        </soap:Fault>
    </soap:Body>
</soap:Envelope>

我如何阅读每个错误?我尝试使用 Detail.InnerText 但所有文本都没有格式化显示。有没有办法在标签上使用 foreach ?

4

1 回答 1

0

您可以使用 LinqToXml 轻松解析该 xml

var errors = XDocument.Parse(yourxmlstring)
                .Descendants("errors")
                .Select(e => new
                {
                    code = (int)e.Element("code"),
                    desc = (string)e.Element("description")
                })
                .ToList();
于 2014-08-04T13:59:02.077 回答