C# 使用XElement解析XML会导致对象引用未设置为对象的实例
下面的XML是从web服务返回的。但是,在使用XElement时,我似乎无法获得或的值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
<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();