2009-03-20 17 views
1

私は.csprojファイルを解析するアプリケーションを開発中です。存在する場合、追加の値を<NoWarn>プロパティに追加する必要があります。プロパティが存在しない場合は、アプリケーションが指定した親ノードに値を持つこのプロパティを追加するようにします。どうすればこれを達成できますか?私はLINQ-to-XMLを使ってプロジェクトファイルを解析しています。既存のxmlファイルに新しいプロパティを追加するにはどうすればよいですか?

答えて

2

テストされていないが、それはのようなものです:私はこれに若干の修正を加え、それが助けを完璧に...ありがとうを作品

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); 
+0

:) – Draco

関連する問題