2017-01-05 4 views
-2

プログラミングが新しく、XMLファイルの単一ノードを特定の値でチェックする必要があり、その値が正しいかどうかを確認する必要があります。値とXMLノードの値を読み取って値が正しいかどうか調べるにはどうすればいいですか

私は3つの異なるクラスにこれらの3つのノードを検証する必要が

<RunCodeAnalysis>true</RunCodeAnalysis>  

私は私がしたいと考えて、xmlファイルから、この特定のノードを選択して、ノードの値がtrueであるかどうかを確認する必要がありますする必要がありますタグを検索するための値が

private void CodeAnalysisEnabled(XDocument xmlDoc) 
{ 
    var codeAnalysis = from doc in xmlDoc.Root?.Descendants("RunCodeAnalysis") select doc; 

    foreach (var codeAnalysisNode in codeAnalysis) 
    { 
     codeAnalysisNode.Value = "true"; 
    } 
} 
+3

私は個人的にLINQ to XMLを使うことをお勧めします。あなたは 'SelectSingleNode'を使う必要さえないかもしれませんし、値などをチェックする方が簡単でしょう。あなたを助けるためにあまりにも漠然としている、私は恐れている。 –

+0

コメントを追加するだけでなく、*質問*を編集してください。 –

+0

さて、あなたはこれまでに持っているコードを表示していないか、「有効な」ものとみなしているものは何も表示されていません... –

答えて

0

ロードXML acutally trueの場合、検証といくつかの助けを得るとXPathを使用します。

var document = new XmlDocument(); 
document.Load(fileName); 
var root = document.DocumentElement 
var nodes = root.SelectNodes("//RunCodeAnalysis"); 

このサンプルでは、​​XMLのノードRunCodeAnalysisがすべて選択されています。 XPathを使用して、あなたが望むものを正確に選択することができます。 Check this MSDN article

+0

私は個人的にLINQ to XMLを使っています - 'XDocument doc = XDocument.Load(fileName ); var nodes = root.Descendants( "RunCodeAnalysis"); ' –

+0

@JonSkeetちょっと私は仕事を選択してコードを更新しました。もう一度見ることができますか? – Pagodatree

+0

@Pagodatree:いいえ、達成しようとしていることがまだ明確でないためです。あなたは現在、すべての値を変更*しています。明白な理由がないのにLINQを使用しています - あなたはそれらをチェックしようと考えていましたか? –

関連する問題