【问题标题】:How to add if condition in inside XElement (XML Serializer)如何在 XElement (XML Serializer) 中添加 if 条件
【发布时间】:2020-11-08 13:57:16
【问题描述】:
var xmlfromLINQ = new XElement("BarList",
            from c in BarList 
            select new XElement("Bar",
                new XElement("Property1", c.Property1),
                new XElement("Property2", c.Property2)
             ));

如何在 XElement 属性中添加条件。因为某些属性是空的,如果我的属性是我得到错误。所以我需要添加条件 if(c.Property1!=null) 获取 c.Property1 否则返回语句。如何添加。

【问题讨论】:

  • 如果您使用的是架构并且架构需要参数,则需要修复 XML 输入错误。修改 c# 代码只是一个 Kludge,只能暂时使用。我只是暂时修改 xml,直到我从供应商那里得到一个好的 xml 文件。如果需要永久修复,我通常只是让对象接受一个 null,比如整数,使属性 int?

标签: c# xml xelement


【解决方案1】:

我会尝试两种方法:

  1. 不要嵌套 如果您正在苦苦挣扎,通常在单独的行中创建所有元素并将它们分配给一个变量是一个好习惯。最后,您使用您创建的变量组装您的结构。这可能不漂亮,也不被认为是优雅的,但它可读且易于调试。因此,每当我从新事物开始时,我都会使用这种方法,直到我真正了解发生了什么。第二步是美化和缩短。

  2. 使用函数 将需要条件的部分分解为返回“Bar”元素的辅助函数。您可以添加对属性的检查,然后决定如何组装对象。

可能有一种更优雅的方法可以做到这一点,但其中任何一种都可以让您解决问题。

【讨论】:

    猜你喜欢
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    相关资源
    最近更新 更多