需要使用C#正则表达式在标记标记之间插入内容的帮助吗
我正在尝试添加一个额外的 asp:SiteMapDataSource 基于控件id=“TopNavigationDataSource”的委托控件之间的标记 我需要这里的帮助来使用C#正则表达式添加这个特定的标记 这将是输入需要使用C#正则表达式在标记标记之间插入内容的帮助吗,c#,C#,我正在尝试添加一个额外的 asp:SiteMapDataSource 基于控件id=“TopNavigationDataSource”的委托控件之间的标记 我需要这里的帮助来使用C#正则表达式添加这个特定的标记 这将是输入 我们应该 < SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" > < Template_Controls >
< SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" >
< Template_Controls >
< asp:SiteMapDataSource
ShowStartingNode="True"
SiteMapProvider="MyCustomNavigationProvider"
id="customSiteMap"
runat="server"/ >
< asp:SiteMapDataSource
ShowStartingNode="False"
SiteMapProvider="SPNavigationProvider"
id="topSiteMap"
runat="server"
StartingNodeUrl="sid:1002"/ >
< /Template_Controls >
< /SharePoint:DelegateControl >
注意:我不能使用任何第三方/免费dll 完成这项任务最好的方法是什么 任何帮助都将不胜感激 谢谢
Deepu如果您确实需要使用正则表达式,可以执行以下操作:
yourMarkup = new Regex(@"\< SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" \>\s*\< Template_Controls \>\s*\< asp:SiteMapDataSource")
.Replace(yourMarkup, @"< SharePoint:DelegateControl runat=""server"" ControlId=""TopNavigationDataSource"" >
< Template_Controls >
< asp:SiteMapDataSource
ShowStartingNode=""True""
SiteMapProvider=""MyCustomNavigationProvider""
id=""customSiteMap""
runat=""server""/ >
< asp:SiteMapDataSource");
yourMarkup=new Regex(@“\\s*\\s*\
谢谢你,弗雷德里克。。但是我在页面中有两个委托控件…这将完成整个替换。。是否有任何方法可以根据委托控件的控件id只执行一次SharePoint:DelegateControl
添加到匹配表达式来为正则表达式提供更多上下文。我相应地更新了我的答案。使用String.Replace()
是可能的,但更棘手的是:空白变得重要,因此您必须确保您的标记格式始终与问题中的格式相同。感谢您的支持,内容将存储在数据库中的空白bcoz没有授权人。所以我只能坚持使用Regx。添加的附加标记是一种特性,用户可以在代码用于场景时打开/关闭它。我该如何关闭额外的标记。谢谢迪普
yourMarkup = new Regex(@"\< SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" \>\s*\< Template_Controls \>\s*\< asp:SiteMapDataSource")
.Replace(yourMarkup, @"< SharePoint:DelegateControl runat=""server"" ControlId=""TopNavigationDataSource"" >
< Template_Controls >
< asp:SiteMapDataSource
ShowStartingNode=""True""
SiteMapProvider=""MyCustomNavigationProvider""
id=""customSiteMap""
runat=""server""/ >
< asp:SiteMapDataSource");