예제 #1
0
        public XmlNode GenerateXMLNode()
        {
            XmlDocument xml  = new XmlDocument();
            XmlNode     node = xml.CreateElement("Tag");

            return(IRAPXMLUtils.GenerateXMLAttribute(node, this));
        }
예제 #2
0
        public XmlNode GenerateXMLNode()
        {
            XmlDocument xml  = new XmlDocument();
            XmlNode     node = xml.CreateElement("OPCServer");

            node = IRAPXMLUtils.GenerateXMLAttribute(node, this);

            return(node);
        }
예제 #3
0
파일: TExCodes.cs 프로젝트: fflorat/IRAP
        /// <summary>
        /// 将注册到内存中的交易代码列表持久化到指定的本地 XML 文件中
        /// </summary>
        /// <param name="dataFileName">持久化的本地 XML 文件名</param>
        public void Save(string dataFileName)
        {
            XmlDocument xml      = new XmlDocument();
            XmlNode     rootNode = null;

            if (!File.Exists(dataFileName))
            {
                xml.AppendChild(xml.CreateXmlDeclaration("1.0", "utf-8", ""));
                rootNode = xml.AppendChild(xml.CreateElement("root"));
                rootNode = rootNode.AppendChild(xml.CreateElement("Configuration"));
            }
            else
            {
                try
                {
                    xml.Load(dataFileName);
                }
                catch (Exception error)
                {
                    Debug.WriteLine(string.Format("加载[{0}]文件时出错:[{1}]", dataFileName, error.Message));
                    return;
                }

                rootNode = xml.SelectSingleNode("root/Configuration");
                if (rootNode == null)
                {
                    Debug.WriteLine(
                        string.Format(
                            "[{0}] 文件中不存在 root/Configuration 根节点"));
                    return;
                }
            }

            // 在 rootNode 的第一层子节点中查找 ExCodes 节点,如果没有找到则创建
            foreach (XmlNode node in rootNode.ChildNodes)
            {
                if (node.Name == "ExCodes")
                {
                    rootNode.RemoveChild(node);
                }
            }

            XmlNode excodeNode = xml.CreateElement("ExCodes");

            rootNode.AppendChild(excodeNode);

            foreach (TEntityExCode excode in excodes.Values)
            {
                XmlNode node = xml.CreateElement("ExCode");
                node = IRAPXMLUtils.GenerateXMLAttribute(node, excode);
                excodeNode.AppendChild(node);
            }

            xml.Save(dataFileName);
        }
예제 #4
0
        protected override XmlNode GenerateUserDefineNode()
        {
            XmlDocument xml    = new XmlDocument();
            XmlNode     result = xml.CreateElement("Result");

            XmlNode node = xml.CreateElement("Param");

            node = IRAPXMLUtils.GenerateXMLAttribute(node, this);
            result.AppendChild(node);

            return(result);
        }
예제 #5
0
        public XmlNode GenerateXMLNode()
        {
            XmlDocument xml  = new XmlDocument();
            XmlNode     node = xml.CreateElement("Device");

            node = IRAPXMLUtils.GenerateXMLAttribute(node, this);
            foreach (TIRAPOPCKepDeviceTagInfo tag in tags)
            {
                node.AppendChild(xml.ImportNode(tag.GenerateXMLNode(), true));
            }

            return(node);
        }
예제 #6
0
파일: TDC_Test.cs 프로젝트: fflorat/IRAP
        protected override XmlNode GenerateUserDefineNode()
        {
            XmlDocument xml    = new XmlDocument();
            XmlNode     result = xml.CreateElement("Parameters");

            XmlNode node = xml.CreateElement("Param");

            node = IRAPXMLUtils.GenerateXMLAttribute(node, this);
            result.AppendChild(node);

            node = xml.CreateElement("ParamXML");
            result.AppendChild(node);

            XmlNode rowSet = xml.CreateElement("TestData");

            node.AppendChild(rowSet);
            for (int i = 0; i < testDatas.Count; i++)
            {
                testDatas[i].Ordinal = i + 1;

                XmlNode row = xml.CreateElement("Row");
                row = testDatas[i].GenerateXMLNode(row);
                rowSet.AppendChild(row);
            }

            rowSet = xml.CreateElement("PossibleFailures");
            node.AppendChild(rowSet);
            for (int i = 0; i < pfms.Count; i++)
            {
                pfms[i].Ordinal = i + 1;

                XmlNode row = xml.CreateElement("Row");
                row = pfms[i].GenerateXMLNode(row);
                rowSet.AppendChild(row);
            }

            rowSet = xml.CreateElement("Recipe");
            node.AppendChild(rowSet);
            for (int i = 0; i < recipes.Count; i++)
            {
                recipes[i].Ordinal = i + 1;

                XmlNode row = xml.CreateElement("Row");
                row = recipes[i].GenerateXMLNode(row);
                rowSet.AppendChild(row);
            }

            return(result);
        }
예제 #7
0
        protected override XmlNode GenerateUserDefineNode()
        {
            XmlDocument xml = new XmlDocument();

            XmlNode result = xml.CreateElement("Result");

            XmlNode node = xml.CreateElement("Param");

            node = IRAPXMLUtils.GenerateXMLAttribute(node, this);
            result.AppendChild(node);

            node = xml.CreateElement("ParamXML");
            result.AppendChild(node);

            for (int i = 0; i < items.Count; i++)
            {
                items[i].Ordinal = i + 1;
                XmlNode child = xml.CreateElement("Row");
                node.AppendChild(IRAPXMLUtils.GenerateXMLAttribute(child, items[i]));
            }

            return(result);
        }
예제 #8
0
 public XmlNode GenerateXMLNode(XmlNode row)
 {
     return(IRAPXMLUtils.GenerateXMLAttribute(row, this));
 }
예제 #9
0
 public virtual XmlNode GenerateXMLNode(XmlNode node)
 {
     return(IRAPXMLUtils.GenerateXMLAttribute(node, this));
 }