【发布时间】:2011-02-24 21:14:26
【问题描述】:
我正在尝试将数据结构保存为 xml,如下所示:
return new XElement ( "EffectFile",
new XElement ( "Effects", this.Effects.Select ( e => new XElement ( "Effect", e.EffectType ) ) )
).ToString ( );
它创建了这样的东西:
<EffectFile>
<Effects>
<Effect>Blur</Effect>
<Effect>Sharpen</Effect>
<Effect>Median</Effect>
</Effects>
</EffectFile>
但我还想有一个条件,如果效果具有不透明度,我也想将其保存在效果中。
我只是不知道如何将该条件嵌套在 lambda 表达式中以创建嵌套的 XElement。
编辑:所以对于不透明度,假设它是这样的:
if (e.Opacity != null) new xElement("Opacity", e.Opacity)
【问题讨论】:
-
你能告诉我们修改后的 XML 应该是什么样子吗?
-
实际上,我希望更像 EBCEu4 所展示的方式。所以 Effect 有 2 个子值,Type 和 Opacity。虽然我不确定是否应该为每个效果创建不透明度部分,即使它们没有。不知道哪个更适合解析。