xml中的特殊字符转义
本文关键字:转义 特殊字符 xml | 更新日期: 2023-09-27 18:17:07
使用Regex,我如何在xml属性值中转义特殊字符?
给定以下xml作为字符串:
"<node attr='"<Sample>'"></node>"
我想要得到:
"<node attr='"<Sample>'"></node>"
System.Security.SecurityElement。转义函数将不起作用,因为它试图转义每个特殊字符(包括标签开/闭尖括号)。
string text = "<node attr='"<Sample>'"></node>";
string pattern = @"(?<='b'w+'s*='s*"")<'w+>(?="")";
string result = Regex.Replace(text, pattern, m => SecurityElement.Escape(m.Value));
Console.WriteLine(text);
Console.WriteLine(result);
地点:?<=
-正面向后看'b
-从单词边界
开始匹配'w+
-匹配一个或多个单词字符's*
-匹配零个或多个空白字符?=
-正面展望