打开soap正文后无法解析XMl

本文关键字:XMl soap 正文 打开 | 更新日期: 2023-09-27 17:53:25

我一直在努力解析xml字符串,但都无济于事

<EnquirySingleItemResponse xmlns="http://tempuri.org/">                  <EnquirySingleItemResult>
    <Response>
      <MSG>SUCCESS</MSG>
      <INFO>TESTING</INFO>
    </Response>   </EnquirySingleItemResult> </EnquirySingleItemResponse>

我的代码返回null或xml标记中的文本,无论我如何解析它。我检查了一些帖子,但它们似乎不能工作。请参阅下面的代码片段

 XElement anotherUnwrappedResponse = ( from _xml in axdoc.Descendants(tempuri + "EnquirySingleItemResponse")
                                       select _xml).FirstOrDefault();
        string response = anotherUnwrappedResponse.Value;

axdoc。使用Descendants是因为它打开了soap主体,使xml位于

打开soap正文后无法解析XMl

之上。

试试这个

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string input =
            "<EnquirySingleItemResponse xmlns='"http://tempuri.org/'">" +
                "<EnquirySingleItemResult>" +
                "<Response>" +
                  "<MSG>SUCCESS</MSG>" +
                  "<INFO>TESTING</INFO>" +
                "</Response>   </EnquirySingleItemResult> </EnquirySingleItemResponse>";
            XDocument doc = XDocument.Parse(input);
            string msg = doc.Descendants().Where(x => x.Name.LocalName == "MSG").FirstOrDefault().Value;
            string info = doc.Descendants().Where(x => x.Name.LocalName == "INFO").FirstOrDefault().Value;
        }
    }
}
​