Esempio n. 1
0
        internal bool XmlIn(Stream stream)
        {
            XmlCADDatabase xmlFilerImpl = new XmlCADDatabase();

            xmlFilerImpl.Load(stream);

            //
            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);

            _idMgr.reset();
            return(true);
        }
Esempio n. 2
0
        public void Write(Stream stream)
        {
            XmlCADDatabase xmlFilerImpl = new XmlCADDatabase();

            //
            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(stream);
        }