【问题标题】:How can I add a new property in an already existing xml file?如何在现有的 xml 文件中添加新属性?
【发布时间】:2009-03-20 14:58:12
【问题描述】:

我正在开发一个解析 .csproj 文件的应用程序。如果存在,它需要向<NoWarn> 属性添加一个附加值。如果该属性不存在,我希望应用程序将此属性及其值添加到指定的父节点。我怎样才能做到这一点?我正在使用 LINQ-to-XML 来解析项目文件。

【问题讨论】:

    标签: c# xml linq linq-to-xml


    【解决方案1】:

    未经测试,但是否类似于:

    XNamespace ns = @"http://schemas.microsoft.com/developer/msbuild/2003";
    XDocument doc = XDocument.Load(path);
    var noWarn = (from grp in doc.Descendants(ns + "PropertyGroup")
            from el in grp.Descendants(ns + "NoWarn")
            select el).FirstOrDefault();
    if(noWarn==null) {
        var grp = doc.Descendants(ns+"PropertyGroup").First();
        grp.Add(new XElement(ns+"NoWarn", "1234"));
    } else {
        noWarn.Value += "; 1234";
    }
    doc.Save(path);
    

    【讨论】:

    • 我对此做了一些细微的修改,它运行良好...感谢帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多