私のここでの要件は、ホスト名と一致するノード(たとえばmachine1)を取得することです。私は常に結果を返しません。問題が何であるか教えてください。LINQ to XMLの質問
事前にお手数をおかけしますようお願いいたします。
XDocument configXML = XDocument.Load("the below xml");
var q = from s in configXML.Descendants("lcsetting")
where ((string)s.Element("host") == hostName)
select s;
実際のXML:あなたはlcsetting直下host
要素を探している
<lcsettings>
<lcsetting env="prod">
<hosts usagelogpath="">
<host>machine1</host>
<host>machine2</host>
<host>machine3</host>
</hosts>
</lcsetting>
<lcsetting env="qa">
<hosts usagelogpath="">
<host>machine4</host>
<host>machine5</host>
<host>machine6</host>
</hosts>
</lcsetting>
<lcsetting env="test">
<hosts usagelogpath="">
<host>machine7</host>
<host>machine8</host>
<host>machine9</host>
</hosts>
</lcsetting>
</lcsettings>
ご返信ありがとうございます。また、クエリが結果を返さない場合は、デフォルトのlcsetting要素(「qa」など)を取得することは可能ですか? – Ganesha