如何删除标签之间的换行符?
How to remove newline between tags?
假设我有这个代码:
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>
如果我在写这篇文章时有任何错误,请纠正我 post。
因为 OP 确认正则表达式替换是可以接受的。我可以使用两个简单的替换。
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>
您可以按照模式替换space周围的其他标签,或者使用更高级的一次性替换,都取决于您的实际需求和技能。
假设我有这个代码:
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>
如果我在写这篇文章时有任何错误,请纠正我 post。
因为 OP 确认正则表达式替换是可以接受的。我可以使用两个简单的替换。
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>
您可以按照模式替换space周围的其他标签,或者使用更高级的一次性替换,都取决于您的实际需求和技能。