From df1419e22617d2bddd452cde73a2e2ef73e62dd8 Mon Sep 17 00:00:00 2001 From: Markus Erlandsson Date: Mon, 19 Jan 2026 10:37:14 +0100 Subject: [PATCH] Save both fetch xml and layout xml --- FetchXmlBuilder/DockControls/TreeBuilderControl.cs | 12 +++++++----- FetchXmlBuilder/FXBGui.cs | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/FetchXmlBuilder/DockControls/TreeBuilderControl.cs b/FetchXmlBuilder/DockControls/TreeBuilderControl.cs index 08931121..b2ac9294 100644 --- a/FetchXmlBuilder/DockControls/TreeBuilderControl.cs +++ b/FetchXmlBuilder/DockControls/TreeBuilderControl.cs @@ -452,7 +452,7 @@ internal void RestoreHistoryPosition(int delta) internal void Save(string fileName) { BuildAndValidateXml(); - var fetchDoc = GetFetchDocument(); + var fetchDoc = GetFetchDocument(true); fetchDoc.Save(fileName); ClearChanged(); } @@ -599,11 +599,13 @@ private XmlDocument GetFetchDocument(bool includelayout = false) doc.AppendChild(rootNode); if (includelayout && LayoutXML != null) { - //rootNode.AppendChild(new XmlNode("view")); - //view.AppendChild(LayoutXML.ToXMLString().ToXmlNode()); - //view.AppendChild(GetFetchDocument(false)); - TreeNodeHelper.AddXmlNode(tvFetch.Nodes[0], rootNode); + var view = doc.CreateElement("view"); + view.InnerXml = LayoutXML.ToXMLString(); + doc.DocumentElement.AppendChild(view); + + TreeNodeHelper.AddXmlNode(tvFetch.Nodes[0], view); var xmlbody = doc.SelectSingleNode("root/view").OuterXml; + doc.LoadXml(xmlbody); } else diff --git a/FetchXmlBuilder/FXBGui.cs b/FetchXmlBuilder/FXBGui.cs index 9e8b1db9..525e1a2f 100644 --- a/FetchXmlBuilder/FXBGui.cs +++ b/FetchXmlBuilder/FXBGui.cs @@ -353,8 +353,8 @@ private void OpenFile() break; case "view": - var fetch = fetchDoc.SelectSingleNode("//fetch")?.InnerText; - var layout = fetchDoc.SelectSingleNode("//grid")?.InnerText; + var fetch = fetchDoc.SelectSingleNode("//fetch")?.OuterXml; + var layout = fetchDoc.SelectSingleNode("//grid")?.OuterXml; dockControlBuilder.Init(fetch, layout, true, "open file", true); break;