internal static void Set(XmlDocument doc, XmlElement root, Exchange exchange, FutureManager mgr) { XmlAttribute attr = doc.CreateAttribute(IdAttr); attr.Value = exchange.ExchangeID; root.Attributes.Append(attr); attr = doc.CreateAttribute(NameAttr); attr.Value = exchange.ExchangeName; root.Attributes.Append(attr); StringBuilder builder = new StringBuilder(); foreach (TimeSlice slice in exchange.AllSlice) { builder.Append(slice.BeginTime.ToString()).Append(",").Append(slice.EndTime.ToString()).Append(","); } if (exchange.AllSlice.Count > 0) { builder.Remove(builder.Length - 1, 1); } XmlElement subTagNode = doc.CreateElement(SliceTag); root.AppendChild(subTagNode); XmlText subValueNode = doc.CreateTextNode(builder.ToString()); subTagNode.AppendChild(subValueNode); subTagNode = doc.CreateElement(OpenTimeTag); root.AppendChild(subTagNode); subValueNode = doc.CreateTextNode(exchange.OpenTime.ToShortTimeString()); subTagNode.AppendChild(subValueNode); subTagNode = doc.CreateElement(CloseTimeTag); root.AppendChild(subTagNode); subValueNode = doc.CreateTextNode(exchange.CloseTime.ToShortTimeString()); subTagNode.AppendChild(subValueNode); List<FutureProduct> productlist = mgr.GetProducts(exchange.ExchangeID); foreach (FutureProduct product in productlist) { subTagNode = doc.CreateElement(ProductTag); root.AppendChild(subTagNode); FutureProductXml.Set(doc, subTagNode, product, mgr); } }