在XContainer()中使用表达式

时间:2010-04-30 13:41:08

标签: c# xml expression

我有两个xml文件,但一个文件将包含一个额外的字段。理想情况下,我想添加带有XElement的if语句,但我认为不可能。

显然这是非常错误的,它只是一个例子,让你知道我想做什么:

    XElement xml = XElement.Load(pfileLocation);

    xml.Add(new XElement("Something",
        new XAttribute("widgit", pwidgitID),

        if (pfileLocation == "file1.xml")
            new XElement("Foo", pfoo),

        new XElement("Bar", pbar)));
    xml.Save(pfileLocation);

我的猜测是我应该将它传递给重载方法?

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用三元运算符?我认为这应该有效:

XElement xml = XElement.Load(pfileLocation);

xml.Add(new XElement("Something",
    new XAttribute("widgit", pwidgitID),

    (pfileLocation == "file1.xml")?
        new XElement("Foo", pfoo):null,
        new XElement("Bar", pbar)));

xml.Save(pfileLocation);