@markchequer Sure, you can copy/replace content of SDT in one document with content from another document’s SDT. For example see the following code:
Document dst = new Document(@"C:\Temp\dst.docx");
Document src = new Document(@"C:\Temp\src.docx");
// Create NodeImporter to import nodes from one document into another.
NodeImporter importer = new NodeImporter(src, dst, ImportFormatMode.UseDestinationStyles);
// Get SDT from source and destination documents.
// For demonstration purposes the SDT is selected by it's tag.
StructuredDocumentTag dstTag = dst.GetChildNodes(NodeType.StructuredDocumentTag, true).Cast<StructuredDocumentTag>()
.Where(sdt => sdt.Tag == "Data").FirstOrDefault();
StructuredDocumentTag srcTag = src.GetChildNodes(NodeType.StructuredDocumentTag, true).Cast<StructuredDocumentTag>()
.Where(sdt => sdt.Tag == "Data").FirstOrDefault();
// Remove all children from the destimation SDT.
dstTag.RemoveAllChildren();
// Copy all children from source SDT into the destination SDT.
foreach(Node child in srcTag.ChildNodes)
dstTag.AppendChild(importer.ImportNode(child, true));
dst.Save(@"C:\Temp\out.docx");