/// <summary> /// Replaces the custom XML in the main document mainPart. /// </summary> /// <param name="mainPart">The main document part.</param> /// <param name="customXml">The custom XML.</param> public static void ReplaceCustomXml(this MainDocumentPart mainPart, XElement customXml) { if (customXml != null) { mainPart.RemoveCustomXmlParts(); CustomXmlPart customXmlPart = mainPart.AddNewPart <CustomXmlPart>(); using (Stream stream = customXmlPart.GetStream(FileMode.Create, FileAccess.ReadWrite)) using (XmlWriter writer = XmlWriter.Create(stream)) { customXml.Save(writer); } } }