我從網絡服務的SOAP信封的迴應如下:提取XML在C#
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<ProcessTranResponse xmlns="http://www.polaris.co.uk/XRTEService/2009/03/">
<ProcessTranResult xmlns:a="http://schemas.datacontract.org/2004/07/XRTEService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:PrintFormFileNameContents i:nil="true"/>
<a:ResponseXML>response_message</a:ResponseXML>
</ProcessTranResult>
</ProcessTranResponse>
</s:Body>
我想response_message
給一個字符串變量。我試着做
XDocument doc = XDocument.Parse(Response);
XNamespace xmlnsa = "http://schemas.datacontract.org/2004/07/XRTEService";
var ResponseXML = doc.Descendants(xmlnsa + "ResponseXML");
當我使用的手錶我看到我的ResponseXML -> Results View[0] -> Value
response_message
,但我無法弄清楚什麼是下一個步驟,從C#得到價值。
另外doc.Descendants(xmlnsa +「ResponseXML」)。First()。Value ;使用Linq工作。謝謝! – user1734523
不客氣!請注意,如果後代列表爲空,則'.First()'可能會拋出異常...... –
如果FirstOrDefault返回null,則''ResponseXML.Value'將引發異常。 –