diff --git a/DNN Platform/Library/Common/Utilities/XmlExtensions.cs b/DNN Platform/Library/Common/Utilities/XmlExtensions.cs index dbdb73249bd..26ac8b047f4 100644 --- a/DNN Platform/Library/Common/Utilities/XmlExtensions.cs +++ b/DNN Platform/Library/Common/Utilities/XmlExtensions.cs @@ -98,6 +98,23 @@ public static XmlNode AddAttribute(this XmlNode node, string attributeName, stri newAttribute.InnerText = attributeValue; node.Attributes.Append(newAttribute); return node; + } + + /// + /// Remove the child node with the provided name. + /// + /// The parent node. + /// The child node name. + public static void RemoveChildNode(this XmlNode node, string childNodeName) + { + if (node != null) + { + var childNode = node.SelectSingleNode(childNodeName); + if (childNode != null) + { + node.RemoveChild(childNode); + } + } } } } diff --git a/DNN Platform/Library/Entities/Modules/ModuleController.cs b/DNN Platform/Library/Entities/Modules/ModuleController.cs index c9caab4d7e5..f5c7e4ed9d4 100644 --- a/DNN Platform/Library/Entities/Modules/ModuleController.cs +++ b/DNN Platform/Library/Entities/Modules/ModuleController.cs @@ -244,15 +244,15 @@ public static XmlNode SerializeModule(XmlDocument xmlModule, ModuleInfo module, } // remove unwanted elements - moduleNode.RemoveChild(moduleNode.SelectSingleNode("portalid")); - moduleNode.RemoveChild(moduleNode.SelectSingleNode("tabid")); - moduleNode.RemoveChild(moduleNode.SelectSingleNode("tabmoduleid")); - moduleNode.RemoveChild(moduleNode.SelectSingleNode("moduleorder")); - moduleNode.RemoveChild(moduleNode.SelectSingleNode("panename")); - moduleNode.RemoveChild(moduleNode.SelectSingleNode("isdeleted")); - moduleNode.RemoveChild(moduleNode.SelectSingleNode("versionGuid")); - moduleNode.RemoveChild(moduleNode.SelectSingleNode("localizedVersionGuid")); - moduleNode.RemoveChild(moduleNode.SelectSingleNode("content")); + moduleNode.RemoveChildNode("portalid"); + moduleNode.RemoveChildNode("tabid"); + moduleNode.RemoveChildNode("tabmoduleid"); + moduleNode.RemoveChildNode("moduleorder"); + moduleNode.RemoveChildNode("panename"); + moduleNode.RemoveChildNode("isdeleted"); + moduleNode.RemoveChildNode("versionGuid"); + moduleNode.RemoveChildNode("localizedVersionGuid"); + moduleNode.RemoveChildNode("content"); // support for localized templates // moduleNode.RemoveChild(moduleNode.SelectSingleNode("uniqueId")); @@ -268,13 +268,13 @@ public static XmlNode SerializeModule(XmlDocument xmlModule, ModuleInfo module, { foreach (XmlNode nodePermission in xmlNodeList) { - nodePermission.RemoveChild(nodePermission.SelectSingleNode("modulepermissionid")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("permissionid")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("moduleid")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("roleid")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("userid")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("username")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("displayname")); + nodePermission.RemoveChildNode("modulepermissionid"); + nodePermission.RemoveChildNode("permissionid"); + nodePermission.RemoveChildNode("moduleid"); + nodePermission.RemoveChildNode("roleid"); + nodePermission.RemoveChildNode("userid"); + nodePermission.RemoveChildNode("username"); + nodePermission.RemoveChildNode("displayname"); } } diff --git a/DNN Platform/Library/Entities/Tabs/TabController.cs b/DNN Platform/Library/Entities/Tabs/TabController.cs index a73ee3abcb6..21bfd5f887f 100644 --- a/DNN Platform/Library/Entities/Tabs/TabController.cs +++ b/DNN Platform/Library/Entities/Tabs/TabController.cs @@ -679,19 +679,19 @@ public static XmlNode SerializeTab(XmlDocument tabXml, Hashtable tabs, TabInfo t // remove unwanted elements // ReSharper disable AssignNullToNotNullAttribute - tabNode.RemoveChild(tabNode.SelectSingleNode("tabid")); - tabNode.RemoveChild(tabNode.SelectSingleNode("moduleID")); - tabNode.RemoveChild(tabNode.SelectSingleNode("taborder")); - tabNode.RemoveChild(tabNode.SelectSingleNode("portalid")); - tabNode.RemoveChild(tabNode.SelectSingleNode("parentid")); - tabNode.RemoveChild(tabNode.SelectSingleNode("isdeleted")); - tabNode.RemoveChild(tabNode.SelectSingleNode("tabpath")); - tabNode.RemoveChild(tabNode.SelectSingleNode("haschildren")); - tabNode.RemoveChild(tabNode.SelectSingleNode("skindoctype")); - tabNode.RemoveChild(tabNode.SelectSingleNode("uniqueid")); - tabNode.RemoveChild(tabNode.SelectSingleNode("versionguid")); - tabNode.RemoveChild(tabNode.SelectSingleNode("defaultLanguageGuid")); - tabNode.RemoveChild(tabNode.SelectSingleNode("localizedVersionGuid")); + tabNode.RemoveChildNode("tabid"); + tabNode.RemoveChildNode("moduleID"); + tabNode.RemoveChildNode("taborder"); + tabNode.RemoveChildNode("portalid"); + tabNode.RemoveChildNode("parentid"); + tabNode.RemoveChildNode("isdeleted"); + tabNode.RemoveChildNode("tabpath"); + tabNode.RemoveChildNode("haschildren"); + tabNode.RemoveChildNode("skindoctype"); + tabNode.RemoveChildNode("uniqueid"); + tabNode.RemoveChildNode("versionguid"); + tabNode.RemoveChildNode("defaultLanguageGuid"); + tabNode.RemoveChildNode("localizedVersionGuid"); XmlNodeList xmlNodeList = tabNode.SelectNodes("tabpermissions/permission"); if (xmlNodeList != null && xmlNodeList.Count == 0) { @@ -723,13 +723,13 @@ public static XmlNode SerializeTab(XmlDocument tabXml, Hashtable tabs, TabInfo t { foreach (XmlNode nodePermission in xmlNodeList) { - nodePermission.RemoveChild(nodePermission.SelectSingleNode("tabpermissionid")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("permissionid")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("tabid")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("roleid")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("userid")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("username")); - nodePermission.RemoveChild(nodePermission.SelectSingleNode("displayname")); + nodePermission.RemoveChildNode("tabpermissionid"); + nodePermission.RemoveChildNode("permissionid"); + nodePermission.RemoveChildNode("tabid"); + nodePermission.RemoveChildNode("roleid"); + nodePermission.RemoveChildNode("userid"); + nodePermission.RemoveChildNode("username"); + nodePermission.RemoveChildNode("displayname"); } }