反序列化 xml Http 响应时面临问题

本文关键字:问题 响应 xml Http 反序列化 | 更新日期: 2023-09-27 18:36:15

我正在尝试将xml格式的HTTPresponse反序列化为对象。

XML 响应:

<?xml version="1.0" encoding="utf-8" ?> 
- <NPIList>
- <NPI>
  <NPI>1003000118</NPI> 
  <EntityType>Organization</EntityType> 
  <IsOrgSubpart>N</IsOrgSubpart> 
  <OrgName>STEVEN ENGEL PEDIATRICS</OrgName> 
  <FirstLineMailingAddress>1700 NEUSE BLVD</FirstLineMailingAddress> 
  <MailingAddressCityName>NEW BERN</MailingAddressCityName> 
  <MailingAddressStateName>NC</MailingAddressStateName> 
  <MailingAddressPostalCode>28560-2304</MailingAddressPostalCode> 
  <MailingAddressCountryCode>US</MailingAddressCountryCode> 
  <MailingAddressTelephoneNumber>252-637-3799</MailingAddressTelephoneNumber> 
  <MailingAddressFaxNumber>252-633-0944</MailingAddressFaxNumber> 
  <FirstLinePracticeLocationAddress>1700 NEUSE BLVD</FirstLinePracticeLocationAddress> 
  <PracticeLocationAddressCityName>NEW BERN</PracticeLocationAddressCityName> 
  </NPI>
  </NPIList>

我的代码检索 xmlhttp 响应并反序列化,如下所示:

using (var response = (HttpWebResponse)request.GetResponse())
      {
        var responseValue = string.Empty;
        if (response.StatusCode != HttpStatusCode.OK)
        {
          var message = String.Format("Request failed. Received HTTP {0}", response.StatusCode);
          throw new ApplicationException(message);
        }
       Stream respStream = response.GetResponseStream();
        XmlSerializer ser = new XmlSerializer(typeof(NPIList));
        var resp = (NPIList)ser.Deserialize(respStream);
                    response.Close();
}

我已经创建了我的对象类

   public class NPIList
    {
        public List<NPIObj> NPI { get; set; }
    }

我得到变量"resp"的计数为零。

这是我的NPIObj课程:

 public class NPIObj
    {
        public string EntityType { get; set; }
        public string FirstLineMailingAddress { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string MailingAddressCityName { get; set; }
        public string MailingAddressCountryCode { get; set; }
        public string MailingAddressPostalCode { get; set; }
        public string MailingAddressStateName { get; set; }
        public string MiddleName { get; set; }
        public string NamePrefix { get; set; }
        public string NPI { get; set; }
        public string OrgName { get; set; }
        public string SecondLineMailingAddress { get; set; }
     }

任何人都可以帮助我可能是什么问题。

反序列化 xml Http 响应时面临问题

尝试添加 XmlElement 属性,如下所示:

public class NPIList
    {
        [XmlElement("NPI")]
        public List<NPIObj> NPI { get; set; }
    }