温馨提示×

C#如何解析SOAP响应

c#
小樊
170
2024-06-24 12:07:28
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C#中解析SOAP响应可以通过使用System.ServiceModel和System.Xml命名空间下的类来实现。以下是一个简单的示例代码,展示如何解析SOAP响应:

using System;
using System.IO;
using System.Net;
using System.Xml;

class Program
{
    static void Main()
    {
        string soapResponse = "<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'><soap:Body><HelloResponse xmlns='http://example.com'><HelloResult>Hello, World!</HelloResult></HelloResponse></soap:Body></soap:Envelope>";

        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(soapResponse);

        XmlNamespaceManager nsManager = new XmlNamespaceManager(xmlDoc.NameTable);
        nsManager.AddNamespace("soap", "http://schemas.xmlsoap.org/soap/envelope/");
        nsManager.AddNamespace("ns", "http://example.com");

        XmlNode responseNode = xmlDoc.SelectSingleNode("//ns:HelloResult", nsManager);
        string result = responseNode.InnerText;

        Console.WriteLine(result);
    }
}

在上面的示例中,我们首先创建了一个包含SOAP响应的字符串soapResponse。然后,我们使用XmlDocument类加载这个字符串,并使用XmlNamespaceManager来处理命名空间。

接着,我们使用SelectSingleNode方法和XPath表达式来获取HelloResult节点的值,并将其打印出来。

这是一个简单的示例,您可以根据实际情况对代码进行调整和扩展。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:PHP如何解析SOAP响应并获取数据

0