C# 用格式正确的html替换html转义字符的c正则表达式

C# 用格式正确的html替换html转义字符的c正则表达式,c#,html,xml,regex,C#,Html,Xml,Regex,我有xml数据,它是以这样一种方式创建的,即使用诸如&149;为了子弹 我正在尝试使用正则表达式和string.replace创建一个html列表,但运气不好 String jobDesc = featuredjob.Description.ToString(); jobDesc = jobDesc.Replace("&#149;", "<li>"); jobDesc = jobDesc.Replace("<li>"

我有xml数据,它是以这样一种方式创建的,即使用诸如&149;为了子弹

我正在尝试使用正则表达式和string.replace创建一个html列表,但运气不好

        String jobDesc = featuredjob.Description.ToString();
        jobDesc = jobDesc.Replace("&#149;", "<li>");
        jobDesc = jobDesc.Replace("<li>", "</li><li>");

        Regex exp = new Regex( @"(</li><li\>)",RegexOptions.IgnoreCase);

        jobDesc = exp.Replace(jobDesc,"<ul><li>");
我试图一步一步地替换,并试图用列表的开始标记替换第一个


有没有现成的库/简单的方法可以实现这一点,因为我知道有库可以实现相反的转换?

您可以一次一行地处理数据吗:

foreach (String eachLine in jobDesc.Split('\n')) {
    eachLine = Regex.Replace(eachLine, @"&#149;(.*)", "<li>$1</li>");
}
然后用ul包装整个字符串:

jobDesc = String.Format("<ul>{0}</ul>",jobDesc);
结果:

flip burger
<ul>
 <li>fun</li>
 <li>fashionable</li>
</ul>
You will love it
<ul>
 <li>401k</li>
 <li>great times</li>
</ul>
apply today
tell your friends

这种东西是xslt设计的,无论出于何种原因,这都不是一个更好的选择。我不负责包含html注释的数据。我首先将XML数据源存储在SQL server中,以使其可查询。据我所知,xslt不会在一个数据字段中格式化这样的html代码吗?
flip burger
<ul>
 <li>fun</li>
 <li>fashionable</li>
</ul>
You will love it
<ul>
 <li>401k</li>
 <li>great times</li>
</ul>
apply today
tell your friends