C# 使用XElement解析XML会导致对象引用未设置为对象的实例

C# 使用XElement解析XML会导致对象引用未设置为对象的实例,c#,asp.net,C#,Asp.net,下面的XML是从web服务返回的。但是,在使用XElement时,我似乎无法获得或的值 <ResponseArray xmlns="urn:mdWebServiceAddress" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Version>2.0.62</Version> <Transmi

下面的XML是从web服务返回的。但是,在使用XElement时,我似乎无法获得或的值

<ResponseArray xmlns="urn:mdWebServiceAddress" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Version>2.0.62</Version>
  <TransmissionReference></TransmissionReference>
  <Results></Results>
  <TotalRecords>1</TotalRecords>
  <Record>
    <RecordID>1</RecordID>
    <Results>AC01,AS01</Results>
    <Address>
      <Address1>22382 Avenida Empresa</Address1>
      <Address2></Address2>
      <Suite></Suite>
      <PrivateMailBox></PrivateMailBox>
      <City>
        <Name>Rancho Santa Margarita</Name>
        <Abbreviation>Rcho Sta Marg</Abbreviation>
      </City>
      <State>
        <Name>California</Name>
        <Abbreviation>CA</Abbreviation>
      </State>
      <Zip>92688</Zip>
      <Plus4>2112</Plus4>
      <AddressKey>92688211282</AddressKey>
    </Address>
  </Record>
</ResponseArray>

2.0.62
1.
1.
AC01,AS01
22382埃姆普雷萨大道
圣玛格丽塔牧场
阿尔科斯塔玛格酒店
加利福尼亚
加利福尼亚州
92688
2112
92688211282
下面是我用来收集值的代码。名称空间是否设置不正确?如何访问XML中这些元素的值

        XElement xelement = XElement.Parse(xmlString);
        XNamespace ns = "http://www.w3.org/2001/XMLSchema-instance";

        IEnumerable<XElement> records = xelement.Elements();

        foreach (var record in records)
        {
            Console.WriteLine(record.Element(ns + "RecordID").Value);
            Console.WriteLine(record.Element(ns + "Address").Element(ns + "AddressKey").Value);
        }
XElement-XElement=XElement.Parse(xmlString);
XNS=”http://www.w3.org/2001/XMLSchema-instance";
IEnumerable记录=xelement.Elements();
foreach(记录中的var记录)
{
Console.WriteLine(record.Element(ns+“RecordID”).Value);
Console.WriteLine(record.Element(ns+“Address”).Element(ns+“AddressKey”).Value);
}
a)更改名称空间

b) 使用后代

XNamespace ns = "urn:mdWebServiceAddress";

IEnumerable<XElement> records = xelement.Descendants(ns + "Record");

foreach (var record in records)
{
    Console.WriteLine(record.Element(ns + "RecordID").Value);
    Console.WriteLine(record.Element(ns + "Address").Element(ns + "AddressKey").Value);
}
XNamespace ns = xelement.GetDefaultNamespace();