我正在尝试将部分内容从一个文档复制到另一文档的同一部分。 我可以使用标题从文档中获取该部分的内容,但是当将此xml内容替换为另一个文档部分时,该文档不会打开。任何链接或示例都将有助于完成此方案。我正在使用开放式XML sdk .net核心c#
//get all descendants with pstyle
var elements = xProcessDoc.Descendants(w + "pStyle");
//get all pstyle elements with Heading 1 - section headers
var existList = (from el in elements
where (string)el.Attribute(w + "val") == "Heading1"
select el).ToArray();
if (sectionNumber != null)
{
var sectNumber = Convert.ToInt16(sectionNumber);
//extraction logic for section
var start = existList[sectNumber - 1];
var ptag = start.Parent.Parent;
//Remove all elements before the ptag
IEnumerable<XElement> ptagBeforeElements = ptag.ElementsBeforeSelf();
xProcessDoc.Descendants().Where(x => ptagBeforeElements.Contains(x)).Remove();
//Remove all elements after the section end
var end = existList[sectNumber];
var endtag = end.Parent.Parent;
IEnumerable<XElement> endtagAfterElements = endtag.ElementsAfterSelf();
xProcessDoc.Descendants().Where(x => endtagAfterElements.Contains(x)).Remove();
// remove the endth element
var endtagelements = endtag.Elements();
xProcessDoc.Descendants().Where(x => endtagelements.Contains(x)).Remove();
var childElements = xProcessDoc.Root.Elements();// xProcessDoc.Root.Element(w + "body").Elements();
var sectionxml = new StringBuilder();
foreach (var item in childElements)
{
sectionxml.Append(item.ToString() + "\n");
}