public object AddElement( object parentElement, string childElementName, string childElementText = "", bool childElementTextAsCDataSection = false) { XmlNode xmlNode = InMetaXmlUtils.TryGetXmlNode(parentElement); if (xmlNode != null) { return((object)new MsXmlNodeEmulator((XmlNode)XmlUtils.AppendElement(xmlNode, childElementName, childElementText))); } object ownerDocument = InMetaXmlUtils.InteropGetOwnerDocument(parentElement); object element = InMetaXmlUtils.InteropCreateElement(ownerDocument, childElementName); InMetaXmlUtils.InteropAppendChild(parentElement, element); if (!string.IsNullOrEmpty(childElementText)) { InMetaXmlUtils.InteropAppendChild(element, InMetaXmlUtils.InteropCreateTextNode(ownerDocument, childElementText)); } return(element); }