0

我正在尝试使用 linq to xml 功能构造从一堆对象创建 xml:

new XAttribute("duration", (m.Media.Type.HasValue && m.Media.Type.Value == MediaType.Image) ? m.DurationInSeconds : default(int?)),

代码的问题是,如果媒体类型没有值或媒体类型不是图像,我会得到一个异常,这可能是因为我使用了默认值(int?)。

理想情况下,如果媒体类型不存在或媒体不是图像,我想替换节点中的“null”。但无法弄清楚如何。

有任何想法吗?

4

1 回答 1

0

是否要将字符串“null”作为属性值?

如果是,我会使用下面的代码:

    int? typeID = null;
    int duration = 23;
    var xml = new XElement("root", 
        new XAttribute("duration", ((typeID.HasValue && typeID.Value == 1) ? duration.ToString() : null) ?? "null")
    );

这个结果<root duration="null" />或者<root duration="23" />如果 typeID == 1

于 2012-07-19T13:35:35.970 回答