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); }
public void SetNodeText(object element, string text, bool textAsCDataSection = false) { XmlNode xmlNode = InMetaXmlUtils.TryGetXmlNode(element); if (xmlNode != null) { XmlUtils.ReplaceOwnText(xmlNode, text); } else { object nodes = InMetaXmlUtils.InteropSelectNodes(element, "text()"); int length = InMetaXmlUtils.InteropGetLength(nodes); for (int index = 0; index < length; ++index) { InMetaXmlUtils.InteropRemoveChild(element, InMetaXmlUtils.InteropGetItem(nodes, index)); } if (string.IsNullOrEmpty(text)) { return; } InMetaXmlUtils.InteropAppendChild(element, InMetaXmlUtils.InteropCreateTextNode(InMetaXmlUtils.InteropGetOwnerDocument(element), text)); } }