//填充表格 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); } }
/** * 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); }
/** * 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); }