C#XMl使用不存在的路径进行反序列化

时间:2013-09-19 14:31:48

标签: c# xml xml-deserialization xsd.exe

我已经使用xsd.exe为我的XML创建了类。在XML(SEPA camt.053)中,是具有minOccurs = 0的多重嵌套节点。

我导航到这样的节点:

entry.NtryDtls[0].TxDtls[0].RltdPties.CdtrAcct.Id.Item

在此路径RltdPties中,CdtrAcct和Id可以为空。

如果RltdPties为null,我会得到一个异常,因为CdtrAcct不存在。

如果没有检查每个节点是否为空以获取项目的值,是否有一种简单的方法? 如果path不存在,那么从我可以检查的最后一个节点获取null(或其他东西)就足够了。

我的想法是使用try / catch包围此查询,如果它抛出异常,我可以将变量设置为空字符串左右。

1 个答案:

答案 0 :(得分:0)

快速回答是否定的。在调用成员的方法或运算符之前,必须检查空引用。