Microsoft_MVP_banner

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>

Share:

Send Us A Message

Leave a Reply

Your email address will not be published. Required fields are marked *

FaisalFareed@2025. All rights reserved

Design by T3chDesigns