如果指定的字符串在xml文档中,我想创建一个返回True
的函数。问题是我需要搜索整个文档而不是一个特定的元素,而xml可以包含多个级别......我该怎么做?
答案 0 :(得分:7)
将XML的内容视为字符串,只搜索您要查找的内容字符串。
public bool FileContainsString(string filePath, string searchString)
{
string fileContents;
using(FileStream file = new FileStream(filePath, FileMode.Open))
using(StreamReader reader = new StreamReader(reader))
{
fileContents = reader.ReadToEnd();
}
return fileContents.Contains(searchString);
}
此代码未经过测试
如果您想要对字符串进行不区分大小写的搜索,请替换
return fileContents.Contains(searchString);
与
return fileContents.IndexOf(searchString, StringComparison.OrdinalIgnoreCase) > -1;
答案 1 :(得分:0)
XmlDocument doc;
bool contains = doc.InnerXml.IndexOf("Your text") != -1
应该可以解决这个问题,但如果你只是想检查纯文本的使用,即使它包含在标签中,也会找到文本:
XmlDocument doc;
bool contains = doc.InnerText.IndexOf("Your text") != -1