我知道下面会找到潜在的标签,但是有没有更好的方法来检查字符串是否包含 XML 标签以防止在读取/写入 XML 文件之间的字符串时出现异常?
string testWord = "test<a>";
bool foundTag = Regex.IsMatch(testWord, @"^*<*>*$"));
我会为此使用另一个正则表达式
Regex.IsMatch(testWord, @"<.+?>");
但是,即使匹配,也不能保证您的文件实际上是xml 文件,因为正则表达式也可以匹配"<<a>"
无效的字符串,或者"a <= b >= c"
显然不是xml。
您应该考虑改用XmlDocument 类。
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.Load(testWord);
}
catch
{
// not an xml
}
HtmlEncode
为什么在通过 XML 发送之前不输入字符串?这样您就可以避免正则表达式解析标签的困难。