日期:2014-05-20  浏览次数:21187 次

Linq查询XML属性为空时,绑定数据出错!
var test=from c in xd.Element("people").Elements()  
  select new
  {
  编号=c.Attribute("ID").Value,  
  姓名=c.Attribute("Name").Value,
  };

  GvXML.DataSource = text;
  GvXML.DataBind();
   


如上,如果XML文件中姓名属性为空的话 <person ID="1" Name="" > ,就会出现 “未将对象引用设置到对象的实例。”的错误。尝试过修改:  
  姓名=c.Attribute("Name").Value,
  为:
  姓名=(c.Attribute("Name").Value==null?"null":c.Attribute("Name").Value),
还是一样出错,不知道怎么解决?

------解决方案--------------------
c.Attribute("Name") == null ? "null":c.Attribute("Name").Value