正则表达式匹配XML字符串在C#中有开始和结束标记

本文关键字:开始 结束 XML 字符串 正则表达式 | 更新日期: 2023-09-27 18:28:04

我想检查一个xml字符串,不管它是否具有C#中指定的开始和结束标记。xml字符串如下所示。

string xml=@"<iq from='someone' to='someone' id='1234' type='result'><query xmlns='jabber:iq:hello' type='hello'><question questionid='17' postedon='1376148890' editedon='1376150411' categoryid='1034' categoryname='Computer' postedby='mohan' viewstatus='0' availability='offline'>Hello</question></query></iq>";
<iq from='someone' to='someone' id='1234' type='result'>
<query xmlns='jabber:iq:hello' type='hello'>
<question questionid='17' postedon='1376148890' editedon='1376150411' categoryid='1034' categoryname='Computer' postedby='mohan' viewstatus='0' availability='offline'>Hello</question>
</query>
</iq>

我一直在使用以下regex格式进行检查,但它对我的没有帮助

var regexForIq = new Regex(@"<iq(.*?)</iq>", RegexOptions.IgnoreCase);
var iqMatch = regexForIq.Match(_responseData);

提前谢谢。

正则表达式匹配XML字符串在C#中有开始和结束标记

为什么不使用真正的xml解析器?http://msdn.microsoft.com/en-us/library/bb387061.aspx

var iq = XElement.Parse(xml).DescendantsAndSelf("iq").FirstOrDefault();
if (iq != null)
{
}