使用字符串块显示句子

时间:2015-03-25 19:48:00

标签: c# .net xml

这是一个程序,我用来显示所有可能的字符串包含“谁”和& 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);
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

您需要检查每个结果是否包含“who”和“your”。你的原始代码正在寻找字符串“你是谁”而不是两个字符串“谁”和“你的”。有关string.Contains(string)

的信息,请参阅this链接

<强>代码

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);
}

编辑:误读原始代码并将过滤放在错误的位置