代码之家  ›  专栏  ›  技术社区  ›  Francesco

不存在路径的C#XMl沙漠化

  •  0
  • Francesco  · 技术社区  · 11 年前

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

    我导航到如下节点:

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

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

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

    如果每个节点为空,那么有没有一种简单的方法可以不检查每个节点来获得Item的Value? 如果路径不存在,那么从我可以检查的最后一个节点获取null(或其他东西)就足够了。

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

    1 回复  |  直到 10 年前
        1
  •  0
  •   Gusdor    11 年前

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