如何检查字符串是否包含至少一个xmlNode。该字符串可能是也可能不是有效的XML。除了检查“<”之外还有什么方法吗?或“>”在字符串中。
由于
答案 0 :(得分:0)
正则表达式会起作用(提示笑声),有一点需要注意。这个正则表达式不会告诉你是否有多个有效元素,只是至少有一个有效元素。
static void Main(string[] args)
{
System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@"<([^>]+)>[^<]*</(\1)>");
Console.WriteLine(r.IsMatch("<a>One Element</a>").ToString());
Console.WriteLine(r.IsMatch("<a>Not An Element</b>").ToString());
Console.WriteLine(r.IsMatch("<a>One Element</a><b>Two Element</b><c>Red Element</c><d>Blue Element</d>").ToString());
Console.ReadLine();
}
答案 1 :(得分:0)
建立SamuelWarren的答案, 这个处理可选属性。
static void Main(string[] args)
{
System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@"<([^\s^>]+)\s*[^>]*>[^<]*</(\1)>");
Console.WriteLine(r.IsMatch("<a>One Element</a>").ToString());
Console.WriteLine(r.IsMatch("<a href=\"http://www.google.com\">One Element</a>").ToString());
Console.WriteLine(r.IsMatch("<a href=\"http://www.google.com\" id=\"whatever\" class=\"ui-link\">One Element</a>").ToString());
Console.WriteLine(r.IsMatch("<a>Not An Element</b>").ToString());
Console.WriteLine(r.IsMatch("<a>One Element</a><b>Two Element</b><c>Red Element</c><d>Blue Element</d>").ToString());
Console.ReadLine();
}