我现在想把如下的xml进行相邻相同的XElement节点的合并。
<article>
<中文栏目名_FZ>简</中文栏目名_FZ>
<中文栏目名_FZ>讯</中文栏目名_FZ>
<英文栏目名_FZ>N</英文栏目名_FZ>
<英文栏目名_FZ>e</英文栏目名_FZ>
<英文栏目名_FZ>w</英文栏目名_FZ>
<英文栏目名_FZ>s</英文栏目名_FZ>
<中文标题_FZ>
<中文标题_FZ>农</中文标题_FZ>
<中文标题_FZ>业</中文标题_FZ>
<中文标题_FZ>种</中文标题_FZ>
<中文标题_FZ>植</中文标题_FZ>
</中文标题_FZ>
<一级标题_FZ>
<一级标题序号_FZ>0</一级标题序号_FZ>
<一级标题序号_FZ> </一级标题序号_FZ>
<一级标题_FZ>引</一级标题_FZ>
<一级标题_FZ>言</一级标题_FZ>
</一级标题_FZ>
<正文内容_FZ>
<正文内容_FZ>近</正文内容_FZ>
<正文内容_FZ>年</正文内容_FZ>
<正文内容_FZ>来</正文内容_FZ>
<正文内容_FZ>曝</正文内容_FZ>
<正文内容_FZ>光</正文内容_FZ>
<正文内容_FZ>的</正文内容_FZ>
<正文内容_FZ>食</正文内容_FZ>
<正文内容_FZ>品</正文内容_FZ>
<正文内容_FZ>安</正文内容_FZ>
<正文内容_FZ>全</正文内容_FZ>
<正文内容_FZ> </正文内容_FZ>
<正文内容_FZ>问</正文内容_FZ>
<正文内容_FZ>题</正文内容_FZ>
<正文内容_FZ>。</正文内容_FZ>
</正文内容_FZ>
<参考文献标题_FZ>参</参考文献标题_FZ>
<参考文献标题_FZ>考</参考文献标题_FZ>
<参考文献标题_FZ>文</参考文献标题_FZ>
<参考文献标题_FZ>献</参考文献标题_FZ>
<文献条目_FZ>
<编号_FZ>[</编号_FZ>
<编号_FZ>1</编号_FZ>
<编号_FZ>]</编号_FZ>
<文献条目_FZ> </文献条目_FZ>
<文献条目_FZ>彭</文献条目_FZ>
<文献条目_FZ>建</文献条目_FZ>
<文献条目_FZ>仿</文献条目_FZ>
<文献条目_FZ>.</文献条目_FZ>
</文献条目_FZ>
</article>
合并的结果如下:
<article>
<中文栏目名_FZ>简讯</中文栏目名_FZ>
<英文栏目名_FZ>News</英文栏目名_FZ>
<中文标题_FZ>
<中文标题_FZ>农业种植</中文标题_FZ>
</中文标题_FZ>
<一级标题_FZ>
<一级标题序号_FZ>0</一级标题序号_FZ>
<一级标题_FZ>引言</一级标题_FZ>
</一级标题_FZ>
<正文内容_FZ>
<正文内容_FZ>近年来曝光的食品安全问题。</正文内容_FZ>
</正文内容_FZ>
<参考文献标题_FZ>参考文献</参考文献标题_FZ>
<文献条目_FZ>
<编号_FZ>[1]</编号_FZ>
<文献条目_FZ>彭建仿.</文献条目_FZ>
</文献条目_FZ>
</article>请问如何用c#实现。
<article>
<中文栏目名_FZ>简</中文栏目名_FZ>
<中文栏目名_FZ>讯</中文栏目名_FZ>
<英文栏目名_FZ>N</英文栏目名_FZ>
<英文栏目名_FZ>e</英文栏目名_FZ>
<英文栏目名_FZ>w</英文栏目名_FZ>
<英文栏目名_FZ>s</英文栏目名_FZ>
<中文标题_FZ>
<中文标题_FZ>农</中文标题_FZ>
<中文标题_FZ>业</中文标题_FZ>
<中文标题_FZ>种</中文标题_FZ>
<中文标题_FZ>植</中文标题_FZ>
</中文标题_FZ>
<一级标题_FZ>
<一级标题序号_FZ>0</一级标题序号_FZ>
<一级标题序号_FZ> </一级标题序号_FZ>
<一级标题_FZ>引</一级标题_FZ>
<一级标题_FZ>言</一级标题_FZ>
</一级标题_FZ>
<正文内容_FZ>
<正文内容_FZ>近</正文内容_FZ>
<正文内容_FZ>年</正文内容_FZ>
<正文内容_FZ>来</正文内容_FZ>
<正文内容_FZ>曝</正文内容_FZ>
<正文内容_FZ>光</正文内容_FZ>
<正文内容_FZ>的</正文内容_FZ>
<正文内容_FZ>食</正文内容_FZ>
<正文内容_FZ>品</正文内容_FZ>
<正文内容_FZ>安</正文内容_FZ>
<正文内容_FZ>全</正文内容_FZ>
<正文内容_FZ> </正文内容_FZ>
<正文内容_FZ>问</正文内容_FZ>
<正文内容_FZ>题</正文内容_FZ>
<正文内容_FZ>。</正文内容_FZ>
</正文内容_FZ>
<参考文献标题_FZ>参</参考文献标题_FZ>
<参考文献标题_FZ>考</参考文献标题_FZ>
<参考文献标题_FZ>文</参考文献标题_FZ>
<参考文献标题_FZ>献</参考文献标题_FZ>
<文献条目_FZ>
<编号_FZ>[</编号_FZ>
<编号_FZ>1</编号_FZ>
<编号_FZ>]</编号_FZ>
<文献条目_FZ> </文献条目_FZ>
<文献条目_FZ>彭</文献条目_FZ>
<文献条目_FZ>建</文献条目_FZ>
<文献条目_FZ>仿</文献条目_FZ>
<文献条目_FZ>.</文献条目_FZ>
</文献条目_FZ>
</article>
合并的结果如下:
<article>
<中文栏目名_FZ>简讯</中文栏目名_FZ>
<英文栏目名_FZ>News</英文栏目名_FZ>
<中文标题_FZ>
<中文标题_FZ>农业种植</中文标题_FZ>
</中文标题_FZ>
<一级标题_FZ>
<一级标题序号_FZ>0</一级标题序号_FZ>
<一级标题_FZ>引言</一级标题_FZ>
</一级标题_FZ>
<正文内容_FZ>
<正文内容_FZ>近年来曝光的食品安全问题。</正文内容_FZ>
</正文内容_FZ>
<参考文献标题_FZ>参考文献</参考文献标题_FZ>
<文献条目_FZ>
<编号_FZ>[1]</编号_FZ>
<文献条目_FZ>彭建仿.</文献条目_FZ>
</文献条目_FZ>
</article>请问如何用c#实现。
<中文栏目名_FZ>简讯</中文栏目名_FZ>
<英文栏目名_FZ>News</英文栏目名_FZ>
<中文标题_FZ>
<中文标题_FZ>农业种植</中文标题_FZ>
</中文标题_FZ>
<一级标题_FZ>
<一级标题序号_FZ>0 </一级标题序号_FZ>
<一级标题_FZ>引言</一级标题_FZ>
</一级标题_FZ>
<正文内容_FZ>
<正文内容_FZ>近年来曝光的食品安全 问题。</正文内容_FZ>
</正文内容_FZ>
<参考文献标题_FZ>参考文献</参考文献标题_FZ>
<文献条目_FZ>
<编号_FZ>[1]</编号_FZ>
<文献条目_FZ> 彭建仿.</文献条目_FZ>
</文献条目_FZ>
</article>
合并的结果如下:
<article>
<中文栏目名_FZ>简讯</中文栏目名_FZ>
<英文栏目名_FZ>News</英文栏目名_FZ>
<中文标题_FZ>
<中文标题_FZ>农业种植</中文标题_FZ>
</中文标题_FZ>
<一级标题_FZ>
<一级标题序号_FZ>0</一级标题序号_FZ>
<一级标题_FZ>引言</一级标题_FZ>
</一级标题_FZ>
<正文内容_FZ>
<正文内容_FZ>近年来曝光的食品安全问题。</正文内容_FZ>
</正文内容_FZ>
<参考文献标题_FZ>参考文献</参考文献标题_FZ>
<文献条目_FZ>
<编号_FZ>[1]</编号_FZ>
<文献条目_FZ>彭建仿.</文献条目_FZ>
</文献条目_FZ>
</article>
{
var s = @"<article>
<中文栏目名_FZ>简</中文栏目名_FZ>
<中文栏目名_FZ>讯</中文栏目名_FZ>
<英文栏目名_FZ>N</英文栏目名_FZ>
<英文栏目名_FZ>e</英文栏目名_FZ>
<英文栏目名_FZ>w</英文栏目名_FZ>
<英文栏目名_FZ>s</英文栏目名_FZ>
<中文标题_FZ>
<中文标题_FZ>农</中文标题_FZ>
<中文标题_FZ>业</中文标题_FZ>
<中文标题_FZ>种</中文标题_FZ>
<中文标题_FZ>植</中文标题_FZ>
</中文标题_FZ>
<一级标题_FZ>
<一级标题序号_FZ>0</一级标题序号_FZ>
<一级标题序号_FZ> </一级标题序号_FZ>
<一级标题_FZ>引</一级标题_FZ>
<一级标题_FZ>言</一级标题_FZ>
</一级标题_FZ>
<正文内容_FZ>
<正文内容_FZ>近</正文内容_FZ>
<正文内容_FZ>年</正文内容_FZ>
<正文内容_FZ>来</正文内容_FZ>
<正文内容_FZ>曝</正文内容_FZ>
<正文内容_FZ>光</正文内容_FZ>
<正文内容_FZ>的</正文内容_FZ>
<正文内容_FZ>食</正文内容_FZ>
<正文内容_FZ>品</正文内容_FZ>
<正文内容_FZ>安</正文内容_FZ>
<正文内容_FZ>全</正文内容_FZ>
<正文内容_FZ> </正文内容_FZ>
<正文内容_FZ>问</正文内容_FZ>
<正文内容_FZ>题</正文内容_FZ>
<正文内容_FZ>。</正文内容_FZ>
</正文内容_FZ>
<参考文献标题_FZ>参</参考文献标题_FZ>
<参考文献标题_FZ>考</参考文献标题_FZ>
<参考文献标题_FZ>文</参考文献标题_FZ>
<参考文献标题_FZ>献</参考文献标题_FZ>
<文献条目_FZ>
<编号_FZ>[</编号_FZ>
<编号_FZ>1</编号_FZ>
<编号_FZ>]</编号_FZ>
<文献条目_FZ> </文献条目_FZ>
<文献条目_FZ>彭</文献条目_FZ>
<文献条目_FZ>建</文献条目_FZ>
<文献条目_FZ>仿</文献条目_FZ>
<文献条目_FZ>.</文献条目_FZ>
</文献条目_FZ>
</article>";
var doc = new XmlDocument();
doc.LoadXml(s);
var xns = doc.SelectNodes("//*");
for (var i = 0; i < xns.Count; i++)
{
var xn = xns[i];
if (xn.NextSibling != null && xn.NextSibling.Name == xn.Name)
{
xn.InnerText += xn.NextSibling.InnerText;
xn.ParentNode.RemoveChild(xn.NextSibling);
i--;
}
}
Console.WriteLine(doc.OuterXml.Replace("><", ">\n<")); }