如何删除标签之间的换行符



假设我有这样的代码:

XmlNode counsel = doc.CreateElement("COUNSELS");
XmlNode p = doc.CreateElement("p");
counsel.AppendChild(p);
XmlNode b = doc.CreateElement("b");
p.AppendChild(b);
b.InnerText = "Counsel:";

它将输出:

<COUNSELS>
<p>
<b>Counsel:</b>
</p>
</COUNSELS>

我能做些什么来实现这个目标:

<COUNSELS>
<p><b>Counsel:</b></p>
</COUNSELS>

如果我在写这篇文章时有任何错误,请纠正我。

由于OP确认regex替换是可以接受的。我可以使用两个简单的替换。

using System.Text.RegularExpressions;
Regex reg1 = new Regex(@"<p>s+", RegexOptions.Compiled);
Regex reg2 = new Regex(@"s+</p>", RegexOptions.Compiled);
string xml = @"<COUNSELS>
<p>
<b>Counsel:</b>
</p>
</COUNSELS>";
xml = reg1.Replace(xml, "<p>");
xml = reg2.Replace(xml, "</p>");
Console.WriteLine(xml);

输出

<COUNSELS>
<p><b>Counsel:</b></p>
</COUNSELS>

您可以按照模式替换其他标签周围的空间,或者使用更高级的一次性替换,这一切都取决于您的实际需求和技能。

最新更新