示例#1
0
        //填充表格
        private void fillGrid(CS_MSG.Entity.Message response_data)
        {
            tlpResult.Controls.Add(new Label {
                Text = "Proto Version:", Anchor = AnchorStyles.Left, AutoSize = true
            }, 0, 0);
            tlpResult.Controls.Add(new Label {
                Text = "Login Mode:", Anchor = AnchorStyles.Left, AutoSize = true
            }, 0, 1);
            tlpResult.Controls.Add(new Label {
                Text = "Success:", Anchor = AnchorStyles.Left, AutoSize = true
            }, 0, 2);

            tlpResult.Controls.Add(new Label {
                Text = response_data.Version, Anchor = AnchorStyles.Left, AutoSize = true
            }, 1, 0);
            tlpResult.Controls.Add(new Label {
                Text = response_data.Auth_mode, Anchor = AnchorStyles.Left, AutoSize = true
            }, 1, 1);
            tlpResult.Controls.Add(new Label {
                Text = response_data.Result.ToString(), Anchor = AnchorStyles.Left, AutoSize = true
            }, 1, 2);

            // Create an unbound DataGridView by declaring a column count.
            gridProfile.ReadOnly             = true;
            gridProfile.ColumnCount          = 4;
            gridProfile.ColumnHeadersVisible = true;

            // Set the column header style.
            DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle();

            columnHeaderStyle.BackColor = Color.Beige;
            columnHeaderStyle.Font      = new Font("Verdana", 10, FontStyle.Bold);
            gridProfile.ColumnHeadersDefaultCellStyle = columnHeaderStyle;

            // Set the column header names.
            gridProfile.Columns[0].Name = "NO";
            gridProfile.Columns[1].Name = "Attr Name";
            gridProfile.Columns[2].Name = "Namespace";
            gridProfile.Columns[3].Name = "Attr Value";

            gridProfile.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
            gridProfile.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            gridProfile.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            gridProfile.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

            int i = 0;

            foreach (CS_MSG.Entity.Attribute atr in response_data.Attrs)
            {
                string[] row = new string[] { Convert.ToString(++i), atr.Name, atr.Name_space, atr.Value };
                this.gridProfile.Rows.Add(row);
            }
        }
示例#2
0
        /**
         * Read by xml document
         */
        public static CS_MSG.Entity.Message readFlow(string xml)
        {
            XmlTextReader reader = new XmlTextReader(@"..\..\Book.xml");

            CS_MSG.Entity.Message          msg   = new CS_MSG.Entity.Message();
            List <CS_MSG.Entity.Attribute> attrs = new List <CS_MSG.Entity.Attribute>();

            CS_MSG.Entity.Attribute attr = new CS_MSG.Entity.Attribute();

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name == "version")
                    {
                        msg.Version = reader.ReadElementContentAsString().Trim();
                    }
                    if (reader.Name == "serviceType")
                    {
                        msg.ServiceType = reader.ReadElementString().Trim();
                    }
                    if (reader.Name == "authResult")
                    {
                        msg.Auth_mode = reader.GetAttribute(0).Trim();
                        msg.Result    = Convert.ToBoolean(reader.GetAttribute(1).Trim());
                    }
                    if (reader.Name == "attr")
                    {
                        attr.Name       = reader.GetAttribute(0);
                        attr.Name_space = reader.GetAttribute(1);
                        attr.Value      = reader.GetAttribute(2);
                    }

                    if (reader.NodeType == XmlNodeType.EndElement)
                    {
                        if (reader.Name == "attr")
                        {
                            attrs.Add(attr);
                            attr = new CS_MSG.Entity.Attribute();
                        }
                    }
                }
            }

            return(msg);
        }
示例#3
0
        /**
         * Read by flow
         */
        public static CS_MSG.Entity.Message readDoc(string xml)
        {
            CS_MSG.Entity.Message msg = new CS_MSG.Entity.Message();

            XmlDocument doc = new XmlDocument();

            XmlReaderSettings settings = new XmlReaderSettings();

            settings.IgnoreComments = true;//忽略文档里面的注释
            // XmlReader reader = null;

            try {
                //reader = XmlReader.Create(Properties.Resources.Message, settings);
                //string xpath = "myDataz/listS/sog";
                //var nodes = xmlDoc.SelectNodes(xpath);
                doc.LoadXml(Properties.Resources.Message);
            } catch (Exception ex) {
                Console.WriteLine("err:" + ex.StackTrace);
            }
            //root
            XmlNode xn = doc.SelectSingleNode("message");
            // 得到根节点的所有子节点head/body
            XmlNodeList xnl = xn.ChildNodes;

            foreach (XmlNode xn1 in xnl)
            {
                if (xn1.Name == "head")
                {
                    XmlNode version     = xn1.SelectSingleNode("version");
                    XmlNode serviceType = xn1.SelectSingleNode("serviceType");
                    msg.Version     = version.InnerText.Trim();
                    msg.ServiceType = serviceType.InnerText.Trim();
                }
                else if (xn1.Name == "body")
                {
                    //accessControlResult
                    XmlNode acs = xn1.SelectSingleNode("accessControlResult");//reserved
                    //authResult
                    XmlNode au_result = xn1.SelectSingleNode("authResultSet").SelectSingleNode("authResult");
                    // 将节点转换为元素,便于得到节点的属性值
                    XmlElement xe = (XmlElement)au_result;

                    msg.Auth_mode = xe.GetAttribute("authMode");
                    msg.Result    = Boolean.Parse(xe.GetAttribute("success").ToString());
                    //attributes
                    XmlNodeList xnattrs = xn1.SelectSingleNode("attributes").ChildNodes;

                    foreach (XmlNode xna in xnattrs)
                    {
                        CS_MSG.Entity.Attribute attr = new CS_MSG.Entity.Attribute();
                        XmlElement xnae = (XmlElement)xna;
                        attr.Name       = xnae.GetAttribute("name");
                        attr.Name_space = xnae.GetAttribute("namespace");

                        attr.Value = xnae.InnerText.Trim();
                        msg.Attrs.AddFirst(attr);
                    }
                }
            }
            return(msg);
        }