/// <summary> /// 增加iframe节点 /// </summary> /// <param name="iframe"></param> /// <param name="actdef"></param> /// <param name="prodef"></param> public static void AddIframeToXML(IFrameEntity iframe, ActdefEntity actdef, ProdefEntity prodef, String secondPackageId, String childProdefId) { String path = CreateActionCommon.GetXmlPath(prodef.Key, childProdefId); XmlNode nodeActdef = null; XmlDocument doc = GetActdefNode(actdef, prodef, out nodeActdef, path, secondPackageId); XmlNode nodeIframe = nodeActdef.SelectSingleNode("iframe"); if (nodeIframe == null) { nodeIframe = doc.CreateElement("iframe") as XmlNode; nodeActdef.AppendChild(nodeIframe); } XmlNode nodeTempIframe = nodeIframe.SelectSingleNode("iframeChild[@ID='" + iframe.Id + "']"); if (nodeTempIframe != null) { nodeTempIframe.ParentNode.RemoveChild(nodeTempIframe); } XmlElement elementTempIframe = doc.CreateElement("iframeChild"); elementTempIframe.SetAttribute("ID", iframe.Id); elementTempIframe.SetAttribute("Name", iframe.Name); elementTempIframe.SetAttribute("URL", iframe.UrlPath); nodeIframe.AppendChild(elementTempIframe); doc.Save(path); }
/// <summary> /// 添加环节信息 /// </summary> /// <param name="actdef"></param> /// <param name="prodef"></param> /// <param name="nodeActdef"></param> /// <param name="path"></param> /// <returns></returns> private static XmlDocument GetActdefNode(ActdefEntity actdef, ProdefEntity prodef, out XmlNode nodeActdef, String path, String secondPackageId) { XmlDocument doc = new XmlDocument(); if (File.Exists(path)) { doc.Load(path); } XmlNode nodeRoot = doc.SelectSingleNode("Element"); if (nodeRoot == null) { XmlDeclaration declar = doc.CreateXmlDeclaration("1.0", "utf-8", "yes"); doc.AppendChild(declar); nodeRoot = doc.CreateElement("Element") as XmlNode; doc.AppendChild(nodeRoot); } XmlNode nodeProdef = nodeRoot.SelectSingleNode("Prodef[@ID='" + prodef.Key + "']"); if (nodeProdef == null) { XmlElement elementProdef = doc.CreateElement("Prodef"); elementProdef.SetAttribute("ID", prodef.Key); elementProdef.SetAttribute("Name", prodef.Name); elementProdef.SetAttribute("PackageID", secondPackageId); nodeProdef = elementProdef as XmlElement; nodeRoot.AppendChild(nodeProdef); } nodeActdef = nodeProdef.SelectSingleNode("Actdef[@ID='" + actdef.Task_id + "']"); if (nodeActdef == null) { XmlElement elementActdef = doc.CreateElement("Actdef"); elementActdef.SetAttribute("ID", actdef.Task_id); elementActdef.SetAttribute("Name", actdef.Task_name); nodeActdef = elementActdef as XmlElement; nodeProdef.AppendChild(nodeActdef); } return(doc); }