Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }