diff --git a/FetchXmlBuilder/DockControls/TreeBuilderControl.cs b/FetchXmlBuilder/DockControls/TreeBuilderControl.cs index d46fb2ed..57a1293d 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 880e09b6..86bb1a8a 100644 --- a/FetchXmlBuilder/FXBGui.cs +++ b/FetchXmlBuilder/FXBGui.cs @@ -358,8 +358,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;