public void TestXMLReadWriteIntermediateWithPoco() { var solution = new TranslatorSolution(); solution.SetName("My TestSolution"); solution.SetComment("This is test solution for testing purposes only"); var project = new Project(); project.SetSourceFile(new FileReference(@"C:\TEMP\Source.resx", "RESX", "This is a test source file comment")); project.AddTargetFile(new FileReference(@"C:\TEMP\Source_DE_DE.resx", "RESX", "This is a test target file comment")); solution.AddProject(project); // Persist content into string var XMLStringSource = new ModelToXML(); var XML = XMLStringSource.ToString(solution); var XMLSource = new XMLToModel(); TranslatorSolutionLib.Models.TranslatorSolution sol = new TranslatorSolutionLib.Models.TranslatorSolution(); // Retrieve content back into object values and check if this worked as expected Assert.AreEqual(XMLSource.SetXMLString(sol, XML), true); // Now back to XML and compare with first XML representation var XMLStringSource1 = new ModelToXML(); var XML1 = XMLStringSource1.ToString(sol); Assert.AreEqual(string.Compare(XML, XML1, false), 0); }
//string mobile = ""; //static string phone = ""; protected void Page_Load(object sender, EventArgs e) { string phone = ""; // phone= Request.QueryString["phone"]; if (HttpContext.Current.Request.Cookies["cookiePhone"] != null) { phone = HttpContext.Current.Request.Cookies["cookiePhone"].Value; } //if (HttpContext.Current.Response.Cookies["cookiePhone"] != null && !string.IsNullOrEmpty(HttpContext.Current.Response.Cookies["cookiePhone"].Value.Trim())) //{ // phone = HttpContext.Current.Response.Cookies["cookiePhone"].Value; //} if (string.IsNullOrEmpty(phone.Trim())) { if (HttpContext.Current.Session["ss"] != null && !string.IsNullOrEmpty(HttpContext.Current.Session["ss"].ToString())) { phone = HttpContext.Current.Session["ss"].ToString(); } } if (string.IsNullOrEmpty(phone.Trim())) { ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>cc();</script>"); return; } if (string.IsNullOrEmpty(phone)) { //if (!string.IsNullOrEmpty(mobile.Trim())) //{ // phone = mobile; // string url = "index.aspx?phone= " + strphone + ""; // System.Web.HttpContext.Current.Response.Redirect(url); //} //// Response.Write("<script language=javascript>window.location.reload( ); </script>" ); //else //{ // ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>if(!window.name){window.name = 'test'; window.location.href = 'index.aspx';}</script>"); //} ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>if(!window.name){window.name = 'test'; window.location.href = 'login.aspx';}</script>"); } else { txtName.InnerText = ""; PosExistMemberInfo posExistMemberInfo = new PosExistMemberInfo(); MemberVO memberVO = new MemberVO(); memberVO.phone = phone; MemberVOXML memberVOXML = new MemberVOXML(); string xml = posExistMemberInfo.getPosExistMemberInfo(memberVO); memberVOXML = (MemberVOXML)XMLToModel.XMLToModelT(xml, memberVOXML); //if (memberVOXML.Gender == "0") //{ // memberVOXML.Gender = "男"; //} //else if (memberVOXML.Gender == "1") //{ // memberVOXML.Gender = "女"; //} txtname1.Value = txtName.InnerText = memberVOXML.VIPName; txtbrith.Value = memberVOXML.Birthday; txtphone.Value = phone; // txtsex.Value = memberVOXML.Gender; txtVIP.InnerText = memberVOXML.CardTypeName; if (memberVOXML.CardTypeCode == "502") { imgVIP.Src = "/images/VIP-01.jpg"; } else if (memberVOXML.CardTypeCode == "503") { imgVIP.Src = "/images/VVIP-01.png"; } lblJF.InnerText = memberVOXML.SumJfTotal; if (string.IsNullOrEmpty(lblJF.InnerText.Trim())) { lblJF.InnerText = "0"; } QueryCertiByHyCard q = new QueryCertiByHyCard(); List <CardJson> list = q.getQueryCertiByHyCard(phone); if (!string.IsNullOrEmpty(list[0].CERTINO.ToString().Trim())) { lblYHQ.InnerText = list.Count.ToString(); } else { lblYHQ.InnerText = "0"; } rtInvite.DataSource = list; this.rtInvite.DataBind(); PointVO posPoint = new PointVO(); posPoint.yyyy = DateTime.Now.Year.ToString(); if (selYY.SelectedIndex != 0) { posPoint.mm = (selYY.SelectedIndex + 1).ToString("00"); } else { selYY.SelectedIndex = DateTime.Now.Month - 1; if (selYY.SelectedIndex == 0) { selYY.SelectedIndex = 12; } posPoint.mm = DateTime.Now.Month.ToString("00"); } posPoint.bgnRowNum = "1"; posPoint.endRowNum = "100"; memberVO.posCardNo = memberVOXML.CardFaceNo; string xmlPoints = PosPoint.getPosPoint(memberVO, posPoint); IList <PointVOXML> listPont = new List <PointVOXML>(); // listPont = XmlToEntityList(xmlPoints); listPont = PosPoint.xmlToList <PointVOXML>(xmlPoints); rtpContact.DataSource = listPont; this.rtpContact.DataBind(); } }
public static List <T> xmlToList <T>(string xml) { Type tp = typeof(T); List <T> list = new List <T>(); if (xml == null || string.IsNullOrEmpty(xml)) { return(list); } try { System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.LoadXml(xml); if (tp == typeof(string) | tp == typeof(int) | tp == typeof(long) | tp == typeof(DateTime) | tp == typeof(double) | tp == typeof(decimal)) { // System.Xml.XmlNodeList nl = doc.SelectNodes("/root/item"); System.Xml.XmlNodeList nl = doc.SelectNodes("//ROW"); if (nl.Count == 0) { return(list); } else { foreach (System.Xml.XmlNode node in nl) { if (tp == typeof(string)) { list.Add((T)(object)Convert.ToString(node.InnerText)); } else if (tp == typeof(int)) { list.Add((T)(object)Convert.ToInt32(node.InnerText)); } else if (tp == typeof(long)) { list.Add((T)(object)Convert.ToInt64(node.InnerText)); } else if (tp == typeof(DateTime)) { list.Add((T)(object)Convert.ToDateTime(node.InnerText)); } else if (tp == typeof(double)) { list.Add((T)(object)Convert.ToDouble(node.InnerText)); } else if (tp == typeof(decimal)) { list.Add((T)(object)Convert.ToDecimal(node.InnerText)); } else { list.Add((T)(object)node.InnerText); } } return(list); } } else { //如果是自定义类型就需要反序列化了 // System.Xml.XmlNodeList nl = doc.SelectNodes("/root/items/" + typeof(T).Name); System.Xml.XmlNodeList nl = doc.SelectNodes("//ROW"); if (nl.Count == 0) { return(list); } else { foreach (System.Xml.XmlNode node in nl) { // list.Add(XMLToObject<T>(node.OuterXml)); PointVOXML pointVOXML = new PointVOXML(); list.Add((T)XMLToModel.XMLToModelTo(node.OuterXml, pointVOXML)); } return(list); } } } catch (XmlException ex) { throw new ArgumentException("不是有效的XML字符串", "xml"); } catch (InvalidCastException e) { throw new ArgumentException("指定的数据类型不匹配", "T"); } catch (Exception exx) { throw exx; } }