如何检查节点的值是否存在我想在xml中读取

时间:2014-07-02 13:45:13

标签: xml c#-4.0

我的程序正在读取xml中的值。问题是有时某些值会出现在xml中,有时值不会到来。那时我得到object reference is not set an instant of object错误消息。所以我希望如果xml中不存在该值,我不想将值赋给任何变量。以下是我的评论代码。

foreach (XElement AddressNode in ActivityLocationNode.Elements("Address"))
  {
   activitylocationtype.Address.City = AddressNode.Element("City").Value;
   activitylocationtype.Address.CountryCode = AddressNode.Element("CountryCode").Value;
   activity.ActivityLocation = activitylocationtype;
   activitylist.Add(activity);
   pakagetype.Activity = activitylist;
   pakagetypelist.Add(pakagetype);
   shipment.Package = pakagetypelist;
   shipmentlist.Add(shipment);
   trackresponse.Shipment = shipmentlist; }

我正在阅读的xml在

之下
<Address>

  <CountryCode>GB</CountryCode>
</Address>

在国家代码即将到来的代码中,但我正在首先阅读城市。所以我在这里得到错误。感谢您的评论。

1 个答案:

答案 0 :(得分:1)

您可以将其转换为Value以避免异常,而不是访问XElement的{​​{1}}属性,例如:

string