这是一个程序,我用来显示所有可能的字符串包含“谁”和& xml文件中的“你的”。 xml文件包含几个句子,如: 你好吗,你叫什么名字,你的学校名字是什么?如果“who”和“you”一个接一个地出现,我编码的程序会显示句子。我如何将字符串分成块然后传递给它来检查xml。 我试过的代码是:
var doc = XDocument.Load("dic.xml");
string findString = "what your";
var results = doc.Descendants("s")
.Where(d => d.Value.Contains(findString.ToLower()))
.Select(d => d.Value);
foreach (string result in results)
{
Console.WriteLine(result);
}
提前致谢。
答案 0 :(得分:0)
您需要检查每个结果是否包含“who”和“your”。你的原始代码正在寻找字符串“你是谁”而不是两个字符串“谁”和“你的”。有关string.Contains(string)
<强>代码强>
var doc = XDocument.Load("dic.xml");
var results = doc.Descendants("s").Where(d => d.Value.Contains("your") || d.Value.Contains("who")).Select(d => d.Value);
foreach (string result in results)
{
Console.WriteLine(result);
}
编辑:误读原始代码并将过滤放在错误的位置