コード例 #1
0
        private XmlElement createElementFromTable(XmlDocument doc, CTable tb)
        {
            ArrayList  flds   = tb.GetTableFields();
            XmlElement xmlObj = doc.CreateElement("OBJECT");

            xmlObj.SetAttribute("name", tb.GetTableName());

            foreach (CField f in flds)
            {
                XmlElement fld = doc.CreateElement("FIELD");
                fld.SetAttribute("name", f.GetName());
                String value = f.GetValue();
                fld.InnerText = value;

                xmlObj.AppendChild(fld);
            }

            Hashtable hashOfArray = tb.GetChildHash();

            foreach (String arrName in hashOfArray.Keys)
            {
                ArrayList arr = (ArrayList)hashOfArray[arrName];

                XmlElement itm = doc.CreateElement("ITEMS");
                itm.SetAttribute("name", arrName);
                xmlObj.AppendChild(itm);

                foreach (CTable t in arr)
                {
                    //Recursive
                    XmlElement o = createElementFromTable(doc, t);
                    itm.AppendChild(o);
                }
            }

            return(xmlObj);
        }