18

特定の XML ファイルを解析する短い C# を書いています。ただし、タグ値の 1 つが変更される可能性がありますが、常に where 句に "Fast Start up" (大文字と小文字は無視されますが、同じ順序である必要があります) という単語が含まれます。C# の SQL のようなステートメントでこれを行う方法がわかりません。

var selected = from cli in doc.Descendants(xmlns+ "Result")
     where cli.Element(xmlns + "ResultsLocation").Value == "Assessments-Fast-Startup"
                       select cli;
4

2 に答える 2

20

正確な文字列を探していると仮定すると、 ? を使用できますString.Containsか?

var selected = from cli in doc.Descendants(xmlns+ "Result")
     where cli.Element(xmlns + "ResultsLocation").Value.Contains("Assessments-Fast-Startup")
     select cli;

それ以外の場合は、次のようになります。

var rx = new Regex("fast(.*?)startup", RegexOptions.IgnoreCase);

var selected = from cli in doc.Descendants(xmlns+ "Result")
    where rx.IsMatch(cli.Element(xmlns + "ResultsLocation").Value)
    select cli;
于 2013-06-04T16:33:46.927 に答える