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

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