Skip to content

Commit 9b683de

Browse files
committed
refactor(XMLPatch): clone and add elements and comments to improve logging and maintain state
1 parent 7ed6837 commit 9b683de

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

XMLPatch/Program.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -552,14 +552,18 @@ private void ApplyAdd(XElement addElement, XElement originalRoot)
552552
}
553553
else if (newNode is XElement || newNode is XComment)
554554
{
555-
latestAdded.AddAfterSelf(newNode);
556555
if (newNode is XElement newElem)
557556
{
558-
Logger.Info($"Added new element: {GetElementInfo(newElem)}");
557+
XElement cloned = new XElement(newElem);
558+
latestAdded.AddAfterSelf(cloned);
559+
latestAdded = cloned;
560+
Logger.Info($"Added new element: {GetElementInfo(cloned)}");
559561
}
560562
else if (newNode is XComment comment)
561563
{
562-
Logger.Info($"Added comment: '{comment.Value}'");
564+
XComment cloned = new XComment(comment);
565+
latestAdded.AddAfterSelf(cloned);
566+
Logger.Info($"Added comment: '{cloned.Value}'");
563567
}
564568
}
565569
}

0 commit comments

Comments
 (0)