Example #1
0
        public void SaveAs(string fileName, bool create, Property.DataOutputFlags flags)
        {
            XmlDocument xml = create ? null : Xml;

            if (null == xml)
            {
                xml = new XmlDocument();
                xml.AppendChild(xml.CreateElement("ZezeConfig"));
                if (false == create)
                {
                    Xml = xml;
                }
            }

            if (flags == Property.DataOutputFlags.All)
            {
                BeanDefine.SaveAs(xml, xml.DocumentElement, create);
            }

            for (int i = 0; i < _Beans.Count; ++i)
            {
                Bean b = _Beans[i];
                b.RowIndex = i;
                b.SaveAs(xml, xml.DocumentElement, create, flags);
            }

            using (TextWriter sw = new StreamWriter(fileName, false, Encoding.UTF8))
            {
                xml.Save(sw);
            }
        }
Example #2
0
File: Bean.cs Project: e2wugui/zeze
            public void SaveAs(XmlDocument xml, XmlElement parent, bool create, Property.DataOutputFlags flags)
            {
                XmlElement self     = create ? null : Self;
                XmlElement selfList = create ? null : SelfList;

                if (null == self)
                {
                    // new
                    self = xml.CreateElement(Name);
                    parent.AppendChild(self);
                    if (false == create)
                    {
                        Self = self;
                    }
                }
                else
                {
                    if (self.Name != Name)
                    {
                        // Name Change
                        XmlElement e = xml.CreateElement(Name);
                        parent.ReplaceChild(e, self);
                        self = e;
                        if (null != selfList)
                        {
                            self.AppendChild(selfList);
                        }
                    }
                }

                if (flags == Property.DataOutputFlags.All)
                {
                    if (GridColumnNameWidth > 0)
                    {
                        self.SetAttribute("nw", GridColumnNameWidth.ToString());
                    }
                    if (GridColumnValueWidth > 0)
                    {
                        self.SetAttribute("vw", GridColumnValueWidth.ToString());
                    }
                }

                if (_Beans.Count > 0) // 这里没有判断Type,直接根据数据来决定怎么保存。
                {
                    if (null == selfList)
                    {
                        selfList = xml.CreateElement("list");
                        self.AppendChild(selfList);
                        if (false == create)
                        {
                            SelfList = selfList;
                        }
                    }
                    for (int i = 0; i < _Beans.Count; ++i)
                    {
                        Bean b = _Beans[i];
                        b.RowIndex = i;
                        b.SaveAs(xml, selfList, create, flags);
                    }
                }
                else
                {
                    self.InnerText = Value;
                }
            }