我有以下信息的用户提供的数据表:处理空值和缺失列的LINQ到XML
| Name | Alias |
|---------------------------
| Batman | Dark Knight |
| Superman | Man of Steel |
| Spiderman | null |
我需要这个表转换成XML发送到存储过程并获得Xml类似于以下内容:
<Superheroes>
<Superhero Name="Batman" Alias="Dark Knight"/>
<Superhero Name="Superman" Alias="Man of Steel"/>
<Superhero Name="Spiderman"/>
</Superheroes>
我想使用Linq-to-Xml(用于学习目的)来解决此问题。这是我到目前为止:
XDocument doc;
doc = new XDocument(
new XElement("Superheroes",
from row in table.AsEnumerable()
select new XElement("Superhero",
new XAttribute("Name", row.Field<string>("Name")),
new XAttribute("Alias", row.Field<string>("Alias"))
)));
问题是蜘蛛侠行。上面的查询由于null而不起作用。
问题
如何处理在LINQ到XML中的空行蜘蛛侠?
如果用户忘记添加别名行,我需要能够处理该位置。在这种情况下,别名应该不包括(一)未在全部或(b)提取XML具有空值
您的缺少的属性解决方案的伟大工程。不幸的是,如果列丢失,字段(字符串)会引发错误。 –
2013-03-13 18:46:59
在这种情况下,您只需要在助手函数中添加一个检查是否存在该列。 – juharr 2013-03-13 19:09:06