【发布时间】:2011-05-28 23:10:51
【问题描述】:
我想用 linq 查询一些 xml 文件。有一些必需元素和一些可选元素。唯一需要的是名称 - 其他所有内容都是可选的。 如果有一些 NULL 例如cageCode = NULL - 它不选择任何东西 - 我需要添加到字符串列表 - “” - 我尝试如下,但它不起作用。当我把所有东西都填满时,它工作正常,当有一些 NULL 时,它不会保存列出任何东西。 你能帮我如何设置“”来列出空元素的位置吗? 谢谢!
var queryManufacturer = from dataManufaturer in input.Identification.Manufacturers.Manufacturer
select
new
{
dataManufaturer.name,
dataManufaturer.cageCode,
dataManufaturer.FaxNumber,
dataManufaturer.URL.OriginalString
};
foreach (var a in queryManufacturer)
{
data.Add(a.name);
if (a.cageCode == null) data.Add("");
else data.Add(a.cageCode);
if (a.FaxNumber == null) data.Add("");
else data.Add(a.FaxNumber);
if (a.OriginalString == null) data.Add("");
else data.Add(a.OriginalString);
}
如果 xml 文件中的某些元素丢失,它会抛出一个空异常 - 我不想得到这个异常 - 我只想在丢失的元素旁边添加空字符串
【问题讨论】:
-
顺便说一句,您可以使用不那么冗长的
data.Add( a.FaxNumer ?? "")来代替所有那些 if/else。查找空合并运算符。