gpt4 book ai didi

c# - 使用 xml 中的空元素

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:19 25 4
gpt4 key购买 nike

我目前正在 VS2012 上开发一个数据导入应用程序,它获取 XML 数据并将其导入数据库。我有一个 set xsd 模式,xml 文档必须与之匹配。

在我的 xsd 中,我定义了 <Loan>minOccurs=0 ,这显然意味着不必设置 Loan 元素。

现在,当我处理我的虚拟数据并放置 no(以及里面的其他元素)时,它会返回给我一个错误,指出值不能为空。我将其追溯到我的 C# 代码,发现失败的行是:

int loan_count = fam.Family[i].Loan.Count();

即使我将 minOccurs 设置为 0,Loan 元素仍然不允许空值。

有没有办法确保当没有<Loan>元素,上面的代码返回 0,而不是 Null。

已修复!答案是公认的答案

最佳答案

您的问题与 XML 或您的 Loan 无关元素本身。您似乎正在使用 Linq 扩展方法 Enumerable.Count<TSource>(this IEnumerable<TSource> source) 来计算贷款的数量。 This method故意抛出 ArgumentNullException如果输入序列为空。 (我相信 all Linq extension methods 会抛出可枚举的空输入。)要解决此问题,您可以创建自己的扩展方法来替换 Count()。 , 或者只是做

int loan_count = (fam.Family[i].Loan == null ? 0 : fam.Family[i].Loan.Count());

关于c# - 使用 xml 中的空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31975635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com