Following code snippet may help you to remove an XML node from an XML message string.
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>
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>
Comments
Post a Comment
I will appreciate your comments !