【发布时间】:2014-03-26 05:48:51
【问题描述】:
我可能有一个带有自封闭标签的简单会话状态标签
sessionState mode="StateServer" stateConnectionString="tcpip=CTSINTCOVOCPRD4:42424" />
sessionState mode="StateServer" stateConnectionString="tcpip=CTSINTCOVOCPRD4:42424" /sessionState>
sessionState 结束标记可能在同一行或下一行。 sessionState 标签内可能还有其他设置标签。
我需要找到所有这些场景以获取完整的 sessionState 标记并将其从配置文件中删除。
我写了以下几行代码:
if (Content.Contains("sessionState"))
{
string RegularExpressionPattern = @"<sessionState.*?><\/sessionState>|<sessionState.*?>|<sessionState.*?>\n<\/sessionState>";
Regex myRegex = new Regex(RegularExpressionPattern, RegexOptions.None);
MatchCollection collection = myRegex.Matches(Content);
string stripped = collection[0].Value;
Content = Content.Replace(stripped, "");
return Content;
}
内容:配置文件内容
如果 sessionState 结束标记在下一行或者它在 sessionState 标记内有任何其他设置标记,我正在同一行中获取带有自封闭标记的 sessionState 标记和带有结束标记的 sessionState,但没有得到正确的值。
我在这段代码中哪里做错了?
【问题讨论】:
标签: c# html regex web-config session-state