C# AddAfterSelf和带有XDocument的行返回

C# AddAfterSelf和带有XDocument的行返回,c#,xml,C#,Xml,我有这段代码用于在XDocument对象中复制xml元素 //get a copy of element XElement element = new XElement(this._xmldoc.Descendants(name).LastOrDefault()); //add element this._xmldoc.Descendants(name).LastOrDefault().AddAfterSelf(element); [编辑] 这是我的“保存”方法 // ///用于保存文档的方法

我有这段代码用于在XDocument对象中复制xml元素

//get a copy of element
XElement element = new XElement(this._xmldoc.Descendants(name).LastOrDefault());
//add element
this._xmldoc.Descendants(name).LastOrDefault().AddAfterSelf(element);
[编辑]

这是我的“保存”方法

//
///用于保存文档的方法
/// 
///文件路径
公共bool保存(字符串文件路径)
{
//返回值
bool returnValue=true;
//清除空元素
returnValue&=this.CleanEmptyElements();
//规范化xml文本
returnValue&=this.NormalizeDocument();
尝试
{
//保存文档
此.xmldoc.Save(文件路径);
}
捕获(无效操作异常)
{
returnValue=false;
}
//如果保存操作失败
if(!returnValue)
//删除文件
File.Delete(文件路径);
//方法结束
返回值;
}
[/编辑]

我的代码工作得很好,但在重复应用之后,我有一个小问题,我有以下XML:

<?xml version="1.0" encoding="iso-8859-1"?>
<Invoice>
    <Party>
        <Country>FRANCE</Country>
    </Party><Party>
        <Country>SPAIN</Country>
    </Party>
</Invoice>
<?xml version="1.0" encoding="iso-8859-1"?>
<Invoice>
    <Party>
        <Country>FRANCE</Country>
    </Party>
    <Party>
        <Country>SPAIN</Country>
    </Party>
</Invoice>

法国
西班牙
我想要这个XML:

<?xml version="1.0" encoding="iso-8859-1"?>
<Invoice>
    <Party>
        <Country>FRANCE</Country>
    </Party><Party>
        <Country>SPAIN</Country>
    </Party>
</Invoice>
<?xml version="1.0" encoding="iso-8859-1"?>
<Invoice>
    <Party>
        <Country>FRANCE</Country>
    </Party>
    <Party>
        <Country>SPAIN</Country>
    </Party>
</Invoice>

法国
西班牙
所以我的问题是,如何在原始元素之后和副本之前返回一行


谢谢

解析文档时,请使用:

this._xmldoc = XDocument.Parse(yourXmlString);
而不是:

this._xmldoc = XDocument.Parse(yourXmlString, LoadOptions.PreserveWhitespace);

有什么原因不能在保存时重新格式化吗?(我希望
XDocument.Save
会自动执行此操作,除非您指定
SaveSettings.DisableFormatting
)如何保存您的代码\u xmldoc您也可以发布此代码吗?我使用Save方法,但我的xml格式不“良好”…您需要一个根元素,例如,在NEATHHITESPACE(换行符)下包含Party元素的Party在XML中不相关。。。事实上,一个格式良好的XML文档只能有一个根元素