/// <summary> /// 读XML /// </summary> public override void XmlIn(Filer.XmlFiler filer) { Filer.XmlFilerImpl filerImpl = filer as Filer.XmlFilerImpl; base.XmlIn(filerImpl); XmlNode curXmlNode = filerImpl.curXmlNode; XmlNode entitiesNode = curXmlNode.SelectSingleNode("entities"); if (entitiesNode != null && entitiesNode.ChildNodes != null) { foreach (XmlNode entityNode in entitiesNode.ChildNodes) { Type type = Type.GetType("SharpCAD.DatabaseServices." + entityNode.Name); if (type == null) { continue; } Entity ent = Activator.CreateInstance(type) as Entity; if (ent == null) { continue; } filerImpl.curXmlNode = entityNode; ent.XmlIn(filerImpl); this._AppendEntity(ent); } } filerImpl.curXmlNode = curXmlNode; }
/// <summary> /// 写XML /// </summary> public override void XmlOut(Filer.XmlFiler filer) { Filer.XmlFilerImpl filerImpl = filer as Filer.XmlFilerImpl; base.XmlOut(filer); foreach (DBTableRecord item in _items) { filerImpl.NewSubNodeAndInsert(item.className); item.XmlOut(filer); filerImpl.Pop(); } }
/// <summary> /// 写XML /// </summary> public override void XmlOut(Filer.XmlFiler filer) { Filer.XmlFilerImpl filerImpl = filer as Filer.XmlFilerImpl; // base.XmlOut(filer); // filerImpl.NewSubNodeAndInsert("entities"); foreach (Entity item in _items) { filerImpl.NewSubNodeAndInsert(item.className); item.XmlOut(filer); filerImpl.Pop(); } filerImpl.Pop(); }
/// <summary> /// 读XML /// </summary> public override void XmlIn(Filer.XmlFiler filer) { Filer.XmlFilerImpl filerImpl = filer as Filer.XmlFilerImpl; base.XmlIn(filer); XmlNode curXmlNode = filerImpl.curXmlNode; XmlNodeList layers = curXmlNode.SelectNodes("Layer"); foreach (XmlNode layerNode in layers) { Layer layer = new Layer(); filerImpl.curXmlNode = layerNode; layer.XmlIn(filerImpl); this._Add(layer); } filerImpl.curXmlNode = curXmlNode; }
/// <summary> /// 读XML文件 /// </summary> internal bool XmlIn(string xmlFileFullPath) { Filer.XmlFilerImpl xmlFilerImpl = new Filer.XmlFilerImpl(); xmlFilerImpl.Load(xmlFileFullPath); // XmlDocument xmldoc = xmlFilerImpl.xmldoc; XmlNode dbNode = xmldoc.SelectSingleNode("Database"); if (dbNode == null) { return(false); } xmlFilerImpl.curXmlNode = dbNode; // ClearLayerTable(); ClearBlockTable(); // layer table XmlNode layerTblNode = dbNode.SelectSingleNode(_layerTable.className); if (layerTblNode == null) { return(false); } xmlFilerImpl.curXmlNode = layerTblNode; _layerTable.XmlIn(xmlFilerImpl); // block table XmlNode blockTblNode = dbNode.SelectSingleNode(_blockTable.className); if (blockTblNode == null) { return(false); } xmlFilerImpl.curXmlNode = blockTblNode; _blockTable.XmlIn(xmlFilerImpl); // _fileName = xmlFileFullPath; _idMgr.reset(); return(true); }
/// <summary> /// 读XML /// </summary> public override void XmlIn(Filer.XmlFiler filer) { Filer.XmlFilerImpl filerImpl = filer as Filer.XmlFilerImpl; base.XmlIn(filer); XmlNode curXmlNode = filerImpl.curXmlNode; XmlNodeList blocks = curXmlNode.SelectNodes("Block"); foreach (XmlNode blockNode in blocks) { Block block = new Block(); block._dbtable = this; filerImpl.curXmlNode = blockNode; block.XmlIn(filerImpl); this._Add(block); } filerImpl.curXmlNode = curXmlNode; }
/// <summary> /// 写XML文件 /// </summary> /// <param name="xmlFileFullPath">XML文件全路径</param> internal void XmlOut(string xmlFileFullPath) { Filer.XmlFilerImpl xmlFilerImpl = new Filer.XmlFilerImpl(); // xmlFilerImpl.NewSubNodeAndInsert("Database"); { // block table xmlFilerImpl.NewSubNodeAndInsert(_blockTable.className); _blockTable.XmlOut(xmlFilerImpl); xmlFilerImpl.Pop(); // layer table xmlFilerImpl.NewSubNodeAndInsert(_layerTable.className); _layerTable.XmlOut(xmlFilerImpl); xmlFilerImpl.Pop(); } xmlFilerImpl.Pop(); // xmlFilerImpl.Save(xmlFileFullPath); }