AX 2012 : Remove an XML node through X++
Following code snippet may help you to remove an XML node from an XML message string. private str removeXMLTag(str xml) { XmlDocument doc = new XmlDocument(); XmlElement nodeScript; XmlNode parentNode, childNode; XmlNodeList xmlScriptList, parentNodeList, childNodeList; int i,j; doc.loadXml(xml); // Get the root element and its child nodes nodeScript = doc.getNamedElement(“SalesOrder”); xmlScriptList = nodeScript.childNodes(); for(i=0; i < xmlScriptList.length(); i++) { parentNode = xmlScriptList.item(i); childNodeList = parentNode.childNodes(); for (j=0; j < childNodeList.length(); j++) { childNode = childNodeList.item(j); if (childNode.selectSingleNode(“Notes”)) { parentNode.removeChild(childNode); } } } return doc.outerXml(); } This will remove DocuRef node along with its child nodes. Original XML message <?xml version=”1.0″ encoding=”utf-8″?> <SalesOrder xmlns = “http://schemas.microsoft.com/dynamics/2008/01/documents/SalesOrder”> <DocuRef class = “entity”> <Notes>Business Name</Notes> </DocuRef> </SalesOrder> XML message after node being removed <?xml version=”1.0″ encoding=”utf-8″?> <SalesOrder xmlns = “http://schemas.microsoft.com/dynamics/2008/01/documents/SalesOrder”> </SalesOrder>