whiteadi
Member
- Joined
- Nov 19, 2020
- Messages
- 9
- Programming Experience
- 10+
I want to parse ANY SOAP response XML, usually if I have a string xml with response, strXML, and I would do this:
I would get the values of all nodes, the text, but concatenated.
I want to parse SOAP responses in a generic way.
For example if I have this response envelope coming:
The c# code above would return me for this envelope the good value but if there would be an extra child node to hy:GetExchangeRateResponse let say :
<ratePart1 xsi:type="xsd:decimal">123.14</ratePart1>
and
<ratePart2 xsi:type="xsd:decimal">234.14</ratePart2>
then I would get: 123.14234.14 concatenated, I want to have something like 123.14, 234.14 ...
PS: usually the services I worked with were returning one value so yeah although is a simple way was working, but not when there are multiple nodes/text.
C#:
XmlDocument doc = new XmlDocument();
doc.LoadXml(strXML);
String str = doc.InnerText;
return str;
I would get the values of all nodes, the text, but concatenated.
I want to parse SOAP responses in a generic way.
For example if I have this response envelope coming:
XML:
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:hy="http://www.herongyang.com/Service/">
<soapenv:Header/>
<soapenv:Body>
<hy:GetExchangeRateResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ratePart xsi:type="xsd:decimal">123.14</ratePart>
</hy:GetExchangeRateResponse>
</soapenv:Body>
</soapenv:Envelope>
The c# code above would return me for this envelope the good value but if there would be an extra child node to hy:GetExchangeRateResponse let say :
<ratePart1 xsi:type="xsd:decimal">123.14</ratePart1>
and
<ratePart2 xsi:type="xsd:decimal">234.14</ratePart2>
then I would get: 123.14234.14 concatenated, I want to have something like 123.14, 234.14 ...
PS: usually the services I worked with were returning one value so yeah although is a simple way was working, but not when there are multiple nodes/text.