我试图用包含任意字符串(包括html注释)的文本替换XElement的内容,例如
<!-- an example goes here -->
<add key="SampleDetailsImporter.StartFolder" value="c:\temp" />
我的代码是
var section = configFile.Descendants(sectionToReplace).FirstOrDefault();
// Replace section if enabled and replacement supplied.
if (section!=null && !string.IsNullOrEmpty(replacementString) && replaceEnabled)
{
section.SetValue(replacementString);
}
其中replaceString是类似的
"<!-- an example goes here --> <add key=\"SampleDetailsImporter.StartFolder\" value=\"c:\temp\" />"
我的问题是替换后,所有<和>字符都编码为<
和>
;
我需要保存的配置文件如下所示:
<MenuPlugins>
<!-- an example goes here -->
<add key=\"SampleDetailsImporter.StartFolder\" value=\"c:\temp\" />
</MenuPlugins>
而不是这样:
<MenuPlugins>
<!-- an example goes here -->
<add key=\"SampleDetailsImporter.StartFolder\" value=\"c:\temp\" />
</MenuPlugins>
我该如何克服?(我尝试应用System.Web.HttpUtility.Decode或Encode方法-没有任何改进。)
答案是用
section.ReplaceWith(XElement.Parse(replacementString);
其中replaceString包含元素标签。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句