private List<string> _ignoreList;
private void InitIgnoreList()
{
_ignoreList = new List<string>
{
"/configuration/appSettings/add[(@key='CMSTrialKey')]",
"/configuration/appSettings/add[(@key='CMSApplicationGuid')]",
"/configuration/appSettings/add[(@key='CMSApplicationName')]",
"/configuration/connectionStrings",
"/configuration/system.web/customErrors",
"/configuration/appSettings/add[(@key='LISALastUpdatedVersionTime')]",
"/configuration/appSettings/add[(@key='LISAUpdatedVersion')]"
};
}
public void RemoveIgnore(XmlDocument doc)
{
foreach (var xpath in _ignoreList)
{
var nodeList = doc.SelectNodes(xpath); // apply your xpath here
if (nodeList == null)
{
continue;
}
foreach (XmlNode node in nodeList)
{
Console.WriteLine(node.OuterXml);
RemoveChildNode(node);
}
}
}
private void RemoveChildNode(XmlNode childNode)
{
var parentNode = childNode.ParentNode;
if (parentNode == null) return;
parentNode.RemoveChild(childNode);
while (parentNode != null && !parentNode.HasChildNodes)
{
var ancestorNode = parentNode.ParentNode;
ancestorNode?.RemoveChild(parentNode);
parentNode = ancestorNode;
}
}