我知道以下内容会找到潜在的标记,但有没有更好的方法来检查字符串是否包含XML标记,以防止在读取/写入XML文件之间的字符串时出现异常?
string testWord = "test<a>";
bool foundTag = Regex.IsMatch(testWord, @"^*<*>*$"));
答案 0 :(得分:3)
我会使用另一个正则表达式
Regex.IsMatch(testWord, @"<.+?>");
但是,即使它确实匹配,也无法保证您的文件实际 是一个xml文件,因为正则表达式也可能匹配"<<a>"
这样无效的字符串,或{ {1}}显然不是 xml。
您应该考虑使用XmlDocument class代替。
"a <= b >= c"
答案 1 :(得分:0)
为什么不在通过XML发送之前HtmlEncode
字符串?这样您就可以避免difficulties with Regex parsing tags。