当前位置: 首页>>代码示例>>C#>>正文


C# DataSet.GetXmlSchema方法代码示例

本文整理汇总了C#中System.Data.DataSet.GetXmlSchema方法的典型用法代码示例。如果您正苦于以下问题:C# DataSet.GetXmlSchema方法的具体用法?C# DataSet.GetXmlSchema怎么用?C# DataSet.GetXmlSchema使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Data.DataSet的用法示例。


在下文中一共展示了DataSet.GetXmlSchema方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: WriteDataset

        //private void WriteHashTable(Hashtable hash)
        //{
        //    _output.Append("{");
        //    bool pendingSeparator = false;
        //    foreach (object entry in hash.Keys)
        //    {
        //        if (pendingSeparator)
        //            _output.Append(",");
        //        WriteValue(entry);
        //        _output.Append(":");
        //        WriteValue(hash[entry]);
        //        pendingSeparator = true;
        //    }
        //    _output.Append("}");
        //}
        private void WriteDataset(DataSet ds)
        {
            _output.Append("{");
            WritePair("$schema", ds.GetXmlSchema());
            _output.Append(",");

            foreach (DataTable table in ds.Tables)
            {
                _output.Append("\"");
                _output.Append(table.TableName);
                _output.Append("\":[");

                foreach (DataRow row in table.Rows)
                {
                    _output.Append("{");
                    foreach (DataColumn column in row.Table.Columns)
                    {
                        WritePair(column.ColumnName, row[column]);
                    }
                    _output.Append("}");
                }

                _output.Append("]");
            }
            // end dataset
            _output.Append("}");
        }
开发者ID:rogeralsing,项目名称:linq-to-sqlxml,代码行数:42,代码来源:JsonSerializer.cs

示例2: Main

        static void Main()
        {
            string strConn = "Data Source=localhost;Initial Catalog=booksourcedb;Integrated Security=True";
              string strSql = "SELECT * FROM book";
              SqlDataAdapter dataAdapter = new SqlDataAdapter(strSql, strConn);

              DataSet dataSet = new DataSet("booklist");
              dataAdapter.Fill(dataSet, "book");

              string strXml = dataSet.GetXml();
              string strSchema = dataSet.GetXmlSchema();

              Console.WriteLine("[DataSet 내용을 XML 문서로 쓰기]");
              Console.WriteLine("------------------------------------");
              Console.WriteLine(strXml);

              Console.WriteLine("\n[DataSet 구조를 Schema 문서로 쓰기]");
              Console.WriteLine("------------------------------------");
              Console.WriteLine(strSchema);
        }
开发者ID:Choyoungju,项目名称:XMLDTD,代码行数:20,代码来源:GetXmlAndSchema.cs

示例3: loadXMLAtom

        public bool loadXMLAtom(channel ch, string rss)
        {
            using (DataSet rssData = new DataSet())
            {
                System.IO.StringReader sr = new System.IO.StringReader(rss);
                DataSet ds2 = new DataSet();
                rssData.ReadXml(sr, XmlReadMode.Auto);
                string str = rssData.GetXmlSchema();

                if (rssData.Tables.Contains("feed"))
                {
                    foreach (DataRow dataRow in rssData.Tables["feed"].Rows)
                    {
                        int c = rssData.Tables.Count;

                        if (rssData.Tables.Contains("link"))
                        {
                            foreach (DataRow dr in rssData.Tables["link"].Rows)
                            {
                                ch.link = dataRowContains("href", dr, rssData);
                                break;
                            }
                        }
                        //dataRowContains("title", dataRow, rssData);
                        //rss_sub.set_title(ch.title);
                        ch.description = dataRowContains("subtitle", dataRow, rssData);//Convert.ToString(dataRow["subtitle"]);
                        ch.pubDate = dataRowContains("updated", dataRow, rssData);//Convert.ToString(dataRow["updated"]);
                        int counter = 0;
                        if (rssData.Tables.Contains("entry"))
                        {
                            foreach (DataRow itemRow in rssData.Tables["entry"].Rows)
                            {
                                Item inside = new Item();
                                inside.titleI = dataRowContains("title", itemRow, rssData);//Convert.ToString(itemRow["title"]);
                                inside.descriptionI = dataRowContains("summary", itemRow, rssData);//Convert.ToString(itemRow["summary"]);
                                inside.linkI = dataRowContains("id", itemRow, rssData);//Convert.ToString(rssData.Tables["id"]);
                                inside.pubDateI = dataRowContains("updated", itemRow, rssData);//Convert.ToString(itemRow["updated"]);
                                if (inside.pubDateI == "")
                                {
                                    inside.pubDateI = dataRowContains("issued", itemRow, rssData);
                                }
                                inside.subscription = ch.title;
                                if (rssData.Tables.Contains("link"))
                                {
                                    foreach (DataRow dr in rssData.Tables["link"].Rows)
                                    {
                                        if (dr["href"].ToString().Contains(".html"))
                                        {
                                            inside.linkI = dr["href"].ToString();
                                        }
                                    }
                                }
                                if (rssData.Tables.Contains("author"))
                                {
                                    //foreach (DataRow authorRow in rssData.Tables["author"].Rows)
                                    DataRow authorRow = rssData.Tables["author"].Rows[0];
                                    //foreach (DataRow authorRow in itemRow["author"])
                                    {
                                        author auth = new author();
                                        auth.name = dataRowContains("name", authorRow, rssData);
                                        auth.email = dataRowContains("email", authorRow, rssData);
                                        inside.authors.Add(auth);
                                    }
                                }
                                ch.item.Add(inside);

                                counter++;
                                if (counter > ch.maxItems) { break; }
                            }
                        }
                        /*if (findChannelName(ch.title) == null)
                        {
                            channels.Add(ch);
                        }*/
                    }

                }
                return true;
            }
        }
开发者ID:AnthonySimmons,项目名称:RSS_Web,代码行数:80,代码来源:parser.cs

示例4: AutoIncrementStep

		public void AutoIncrementStep ()
		{
			DataSet ds = new DataSet("testds");
			DataTable tbl = ds.Tables.Add("testtbl");
			DataColumn col = tbl.Columns.Add("id", typeof(int));
			col.AutoIncrement = true;
			col.AutoIncrementSeed = -1;
			col.AutoIncrementStep = -1;
			tbl.Columns.Add("data", typeof(string));
			Assert.IsTrue (ds.GetXmlSchema ().IndexOf ("AutoIncrementStep") > 0);
		}
开发者ID:Profit0004,项目名称:mono,代码行数:11,代码来源:DataSetReadXmlSchemaTest.cs

示例5: CompareResults_Fill

		private void CompareResults_Fill(DataSet dsResult,DataSet dsExpected ) {
			Exception exp = null;

			//			try
			//			{
			//				BeginCase("Compare Rows count");
			//				// ???????   Fill return count for first table only    ??????
			//				Compare(ExpectedRowsCount  ,ResultRowsCount );
			//			}
			//			catch(Exception ex)	{exp = ex;}
			//			finally	{EndCase(exp); exp = null;}

			try {
				BeginCase("Compare data");
				Compare(dsResult.GetXml() ,dsExpected.GetXml());
			}
			catch(Exception ex)	{exp = ex;}
			finally	{EndCase(exp); exp = null;}

			try {
				BeginCase("Compare schema");
				Compare(dsResult.GetXmlSchema() ,dsExpected.GetXmlSchema());
			}
			catch(Exception ex)	{exp = ex;}
			finally	{EndCase(exp); exp = null;}
		}
开发者ID:nlhepler,项目名称:mono,代码行数:26,代码来源:ADONetTesterClass.cs

示例6: fGetXMlSchemaFromDataSet

 public string fGetXMlSchemaFromDataSet(DataSet DS)
 {
     string sXML;
     sXML = DS.GetXmlSchema();
     return sXML;
 }
开发者ID:stiqraschool,项目名称:eSchool,代码行数:6,代码来源:XMLLib.cs

示例7: CtrlDataBind


//.........这里部分代码省略.........
        }
        //当前页码,行记录个数
        //在XmlCount数据岛增加TotalPage;PageIndex;PageSize,RecordCount数据
        XmlNode xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("TotalPage"));
        xmlNode.InnerText = (null == this.ViewState["TotalPages" + workitemdrc]) ? "1" : this.ViewState["TotalPages" + workitemdrc].ToString();
        xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("PageIndex"));
        xmlNode.InnerText = (null == this.ViewState["PageIndex" + workitemdrc]) ? "1" : this.ViewState["PageIndex" + workitemdrc].ToString();
        xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("PageSize"));
        xmlNode.InnerText = iPageSize.ToString();
        xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("RecordCount"));
        xmlNode.InnerText = iRecordCount.ToString();

        string _s = "";
        string xmlstr1 = "";
        XmlNode xmlcountNode = xmldocCount.SelectSingleNode("//DataSet");

        if (xmlcountNode == null)
        {
            xmlcountNode = xmldocCount.SelectSingleNode("//汇总");
            _s = (xmlcountNode == null) ? "" : xmlcountNode.InnerXml;
            xmlstr1 = string.Format("<XML id=\"{0}Tab_Sum\" typexml=\"Count\" itemname=\"{1}\"><汇总>{2}</汇总></XML>", workitemdrc, workitem.ItemName, _s);
        }
        else
        {
            _s = (xmlcountNode == null) ? "" : xmlcountNode.InnerXml;
            xmlstr1 = string.Format("<XML id=\"{0}Tab_Sum\" typexml=\"Count\" itemname=\"{1}\"><DataSet>{2}</DataSet></XML>", workitemdrc, workitem.ItemName, _s);
        }
        //删除区数据
        Xml CtrlXmlDelete = new Xml();
        CtrlXmlDelete.Document = new XmlDocument();
        XmlDocument xmldocDel = CtrlXmlDelete.Document;
        xmldocDel.AppendChild(xmldocDel.CreateElement(xmldoc.DocumentElement.LocalName));
        xmldocDel.DocumentElement.Attributes.Append(xmldocDel.CreateAttribute("id"));
        xmldocDel.DocumentElement.Attributes["id"].Value = workitemdrc + "Tab_Delete";
        xmldocDel.DocumentElement.Attributes.Append(xmldocDel.CreateAttribute("typexml"));
        xmldocDel.DocumentElement.Attributes["typexml"].Value = "Delete";
        xmldocDel.DocumentElement.Attributes.Append(xmldocDel.CreateAttribute("itemname"));
        xmldocDel.DocumentElement.Attributes["itemname"].Value = workitem.ItemName;


        string xmlstr2 = string.Format("<XML id=\"{0}Tab_Delete\" typexml=\"Delete\" itemname=\"{1}\"><etpTemplate_{2}Tab_xmlland></etpTemplate_{3}Tab_xmlland></XML>",
            workitemdrc, workitem.ItemName, workitemdrc, workitemdrc);

        //数据岛结构信息
        Xml CtrlXmlSchema = new Xml();
        CtrlXmlSchema.Document = new XmlDocument();
        CtrlXmlSchema.Document.LoadXml(ds.GetXmlSchema());
        XmlDocument CtrlDBSchema = CtrlXmlSchema.Document;
        this.setSchema(CtrlXmlSchema,workitem);
        
        //字典绑定
        Xml CtrlXmlDict = new Xml();
        DataSet CtrlDsDict = this.CtrlDataBindDict(workitem, ref CtrlXmlDict);
        
        string xmlstr3 = string.Format("<XML id=\"{0}Tab_dict\" typexml=\"Dict\" itemname=\"{1}\"></XML>",
            workitemdrc, workitem.ItemName);
        string xmlstr4 = string.Format("<XML id=\"{0}Tab\" typexml=\"Data\" itemname=\"{1}\"></XML>",
            workitemdrc, workitem.ItemName);
        //处理输出的字段格式
        XmlDocument XmlSchema = this.setFormatXmlLand(xmldoc, ds, CtrlXmlSchema, CtrlDsDict, CtrlXmlDict);

        string strXPath = "//xs:schema";
        string strschema = "<XML><xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">{0}</xs:schema></XML>";
        XmlDocument xmlLandSchema = new XmlDocument();
        xmlLandSchema.LoadXml(strschema);
        XmlNode _xmlschema = CtrlXmlSchema.Document.SelectSingleNode(strXPath, this._xmlNsMglSchema);
        string strdrc = (workitem.DataSrc).Replace(":", "_x003A_");
        _xmlschema.InnerXml = (_xmlschema.InnerXml).Replace(workitem.DataSrc,strdrc);
        int isep = 0;
        for (int i = 0; i < _xmlschema.Attributes.Count; i++)
        {
            if (_xmlschema.Attributes[i].Name.IndexOf("xmlns") > -1) continue;
            xmlLandSchema.DocumentElement.Attributes.Append(xmlLandSchema.CreateAttribute(_xmlschema.Attributes[i].Name));
            xmlLandSchema.DocumentElement.Attributes[isep].Value = _xmlschema.Attributes[i].Value;
            isep++;
        }


        strXPath = "//xs:element[@name='" + strdrc + "']//xs:sequence";
        _xmlschema = CtrlXmlSchema.Document.SelectSingleNode(strXPath, this._xmlNsMglSchema);
        string _ixml = _xmlschema.InnerXml.Replace("xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"", "");
        _ixml = _ixml.Replace("minOccurs=\"0\"","");
        string xmlstr5 = string.Format(xmlLandSchema.InnerXml, _ixml);
        /*
        if (this.CtrlHiddenGrid)
        {
            this.GridDiv.Style["display"] = "none";
            return;
        }
        //读取Grid模板
        this._xmltpdoc.Load(this.Server.MapPath(this._tpGridFile));
        //设定标题列
        this.setTitle();
        //设定明细列
        this.setDetail();
        //设定脚注列
        this.setFoot();
         */
        return xmlstr1 + xmlstr2 + xmlstr3 + xmlstr4 + xmlstr5;
    }
开发者ID:thisisvoa,项目名称:GranityApp2.5,代码行数:101,代码来源:sysxml.aspx.cs

示例8: CtrlDataBind


//.........这里部分代码省略.........
                            this.ViewState["TotalPages" + CtrlWorkItem.DataSrc] = (int)Math.Ceiling((double)iRecordCount / iPageSize);
                    }
                    else
                        this.ViewState["TotalPages" + CtrlWorkItem.DataSrc] = (int)Math.Ceiling((double)iRecordCount / iPageSize);
                }
            }
        }
        else
            xmldocCount.LoadXml("<DataSet><DataTableCount/></DataSet>");
        xmldocCount.DocumentElement.Attributes.Append(xmldocCount.CreateAttribute("id"));
        xmldocCount.DocumentElement.Attributes["id"].Value = this.CtrlXmlID + "_Sum";
        xmldocCount.DocumentElement.Attributes.Append(xmldocCount.CreateAttribute("typexml"));
        xmldocCount.DocumentElement.Attributes["typexml"].Value = "Count";
        xmldocCount.DocumentElement.Attributes.Append(xmldocCount.CreateAttribute("itemname"));
        xmldocCount.DocumentElement.Attributes["itemname"].Value = this.CtrlItemName;
        //当前页数据
        DataSet ds = new DataSet(this.CtrlXmlLand.ClientID);
        ds.EnforceConstraints = false;
        strParams = this.getStrParams();
        page.PgQuery.FillDataSet(this.CtrlWorkItem.DataSrc, paramlist, strParams, ds);
        this.CtrlDataSource = ds.Tables[this.CtrlWorkItem.DataSrc];
        //增加行光标列
        if (null != this.CtrlDataSource && !this.CtrlDataSource.Columns.Contains("RowNum"))
            this.CtrlDataSource.Columns.Add("RowNum", Type.GetType("System.Int32"));
        if (iPageSize < 1) iPageSize = 10;
        int iPageIndex = 1;
        if (null != this.ViewState["PageIndex" + CtrlWorkItem.DataSrc])
            iPageIndex = Convert.ToInt32(this.ViewState["PageIndex" + CtrlWorkItem.DataSrc]);
        for (int i = 0; null != this.CtrlDataSource && i < this.CtrlDataSource.Rows.Count; i++)
            this.CtrlDataSource.Rows[i]["RowNum"] = i + 1 + (iPageIndex - 1) * iPageSize;
        //如果是数字类型,值是0的,改为空的
        for (int i = 0; null != this.CtrlDataSource && i < this.CtrlDataSource.Columns.Count; i++)
        {
            DataColumn col = this.CtrlDataSource.Columns[i];
            if ("rownum" == col.ColumnName.ToLower()) continue;
            if ("Decimal" != col.DataType.Name && "Double" != col.DataType.Name && "Int16" != col.DataType.Name
                    && "Int32" != col.DataType.Name && "Int64" != col.DataType.Name && "Single" != col.DataType.Name
                     && "UInt16" != col.DataType.Name && "UInt32" != col.DataType.Name && "UInt64" != col.DataType.Name)
                continue;
            DataRow[] drs = this.CtrlDataSource.Select(col.ColumnName + "=0");
            for (int j = 0; j < drs.Length; j++)
                drs[j][i] = DBNull.Value;
        }
        //生成数据文档
        this.CtrlXmlLand.Document = new XmlDataDocument(ds);
        this.CtrlDBXmlDoc = this.CtrlXmlLand.Document;
        XmlDocument xmldoc = this.CtrlXmlLand.Document;
        if (xmldoc.DocumentElement == null)
            xmldoc.AppendChild(xmldoc.CreateElement(this.CtrlXmlLand.ClientID));
        if (null == xmldoc.DocumentElement.Attributes["id"])
            xmldoc.DocumentElement.Attributes.Append(xmldoc.CreateAttribute("id"));
        if (null == xmldoc.DocumentElement.Attributes["itemname"])
            xmldoc.DocumentElement.Attributes.Append(xmldoc.CreateAttribute("itemname"));
        if (null == xmldoc.DocumentElement.Attributes["typexml"])
            xmldoc.DocumentElement.Attributes.Append(xmldoc.CreateAttribute("typexml"));
        xmldoc.DocumentElement.Attributes["id"].Value = this.CtrlXmlID;
        xmldoc.DocumentElement.Attributes["itemname"].Value = this.CtrlItemName;
        xmldoc.DocumentElement.Attributes["typexml"].Value = "Data";
        if (iRecordCount < this.CtrlDataSource.Rows.Count)
            iRecordCount = this.CtrlDataSource.Rows.Count;
        //当前页码,行记录个数
        //在XmlCount数据岛增加TotalPage;PageIndex;PageSize,RecordCount数据
        XmlNode xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("TotalPage"));
        xmlNode.InnerText = (null == this.ViewState["TotalPages" + CtrlWorkItem.DataSrc]) ? "1" : this.ViewState["TotalPages" + CtrlWorkItem.DataSrc].ToString();
        xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("PageIndex"));
        xmlNode.InnerText = (null == this.ViewState["PageIndex" + CtrlWorkItem.DataSrc]) ? "1" : this.ViewState["PageIndex" + CtrlWorkItem.DataSrc].ToString();
        xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("PageSize"));
        xmlNode.InnerText = iPageSize.ToString();
        xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("RecordCount"));
        xmlNode.InnerText = iRecordCount.ToString();
        //删除区数据
        this.CtrlXmlDelete.Document = new XmlDocument();
        XmlDocument xmldocDel = this.CtrlXmlDelete.Document;
        xmldocDel.AppendChild(xmldocDel.CreateElement(xmldoc.DocumentElement.LocalName));
        xmldocDel.DocumentElement.Attributes.Append(xmldocDel.CreateAttribute("id"));
        xmldocDel.DocumentElement.Attributes["id"].Value = this.CtrlXmlID + "_Delete";
        xmldocDel.DocumentElement.Attributes.Append(xmldocDel.CreateAttribute("typexml"));
        xmldocDel.DocumentElement.Attributes["typexml"].Value = "Delete";
        xmldocDel.DocumentElement.Attributes.Append(xmldocDel.CreateAttribute("itemname"));
        xmldocDel.DocumentElement.Attributes["itemname"].Value = this.CtrlItemName;

        //数据岛结构信息
        this.CtrlXmlSchema.Document = new XmlDocument();
        this.CtrlXmlSchema.Document.LoadXml(ds.GetXmlSchema());
        this.CtrlDBSchema = this.CtrlXmlSchema.Document;
        this.setSchema();
        //字典绑定
        this.CtrlDataBindDict();
        //处理输出的字段格式
        this.setFormatXmlLand(xmldoc, ds);

        //读取控件模板,绑定树
        if(""!=this._tpGridFile)
            this._xmltpdoc.Load(this.Server.MapPath(this._tpGridFile));
        //
        for (int i = 0; i < this.CtrlXmlLand.Document.DocumentElement.ChildNodes.Count; i++)
            this.bindTree(this.CtrlXmlLand.Document.DocumentElement.ChildNodes[i]);
        this.trvLand.ExpandAll();
        return;
    }
开发者ID:thisisvoa,项目名称:GranityApp2.5,代码行数:101,代码来源:TreeLand.ascx.cs

示例9: GetXMLSchema

        /// <summary>
        /// Get XML Scheme of a table
        /// </summary>
        /// <param name="tablename"></param>
        /// <returns></returns>
        public string GetXMLSchema(string tablename)
        {
            using (SqlConnection conn = new SqlConnection(this.ConnectionString))
            {
                SqlCommand cmd = new SqlCommand(string.Format("SELECT TOP 1 * FROM {0};", tablename), conn);

                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();

                // Get xml schema
                da.FillSchema(ds, SchemaType.Mapped, tablename);
                string xmlSchema = ds.GetXmlSchema();

                if ((xmlSchema != null) && (xmlSchema != ""))
                {
                    xmlSchema = xmlSchema.Replace("utf-16", "utf-8");
                }
                else
                {
                    xmlSchema = "";
                }

                return xmlSchema;
            }
        }
开发者ID:uNormatov,项目名称:FreboCms,代码行数:30,代码来源:DataConnection.cs

示例10: WriteDataset

 private void WriteDataset(DataSet ds)
 {
     _output.Append('{');
     if (useExtension)
     {
         WritePair("$schema", useMinimalDataSetSchema ? (object)GetSchema(ds) : ds.GetXmlSchema());
         _output.Append(',');
     }
     foreach (DataTable table in ds.Tables)
     {
         WriteDataTableData(table);
     }
     // end dataset
     _output.Append('}');
 }
开发者ID:QubeX2,项目名称:gstickies,代码行数:15,代码来源:JsonSerializer.cs

示例11: WriteDataset

        private void WriteDataset(DataSet ds)
        {
            _output.Append('{');
            if (useExtension)
            {
                WritePair("$schema", useMinimalDataSetSchema ? (object)GetSchema(ds) : ds.GetXmlSchema());
                _output.Append(',');
            }
            foreach (DataTable table in ds.Tables)
            {
                _output.Append('\"');
                _output.Append(table.TableName);
                _output.Append("\":[");
                DataColumnCollection cols = table.Columns;
                foreach (DataRow row in table.Rows)
                {
                    _output.Append('[');

                    bool pendingSeperator = false;
                    foreach (DataColumn column in cols)
                    {
                        if (pendingSeperator) _output.Append(',');
                        WriteValue(row[column]);
                        pendingSeperator = true;
                    }
                    _output.Append(']');
                }

                _output.Append(']');
            }
            // end dataset
            _output.Append('}');
        }
开发者ID:FPCollab,项目名称:General,代码行数:33,代码来源:JsonSerializer.cs

示例12: GetDataSet

 private static string GetDataSet(List<DataTable> dataTableList, string dataSetName)
 {
     DataSet ds = new DataSet(dataSetName);
     foreach (DataTable dataTable in dataTableList)
         ds.Merge(dataTable);
     return ds.GetXmlSchema();
 }
开发者ID:BackupTheBerlios,项目名称:puzzle-svn,代码行数:7,代码来源:DataSetGenerator.cs

示例13: CtrlDataBind

        /// <summary>
        /// 不需要提供数据环境的数据绑定
        /// </summary>
        public override void CtrlDataBind()
        {
            BasePage page = this.Page as BasePage;
            this.ViewState["sendpage"] = "";
            NameObjectList paramlist = BuildParamList.BuildParams(page.PgParamXmlDoc);
            string[] strParams = this.getStrParams();
            int iPageSize = 0, iRecordCount = 0;
            //分页,汇总数据
            DataSet dsCount = new DataSet("汇总");
            dsCount.EnforceConstraints = false;
            this.CtrlXmlCount.Document = new XmlDataDocument(dsCount);
            DataTable counttab = null;
            if (dsCount.Tables.Count > 0) counttab = dsCount.Tables[0];
            XmlDocument xmldocCount = this.CtrlXmlCount.Document;
            xmldocCount.LoadXml("<DataSet><DataTableCount/></DataSet>");
            xmldocCount.DocumentElement.Attributes.Append(xmldocCount.CreateAttribute("id"));
            xmldocCount.DocumentElement.Attributes["id"].Value = this.CtrlXmlID + "_Sum";
            xmldocCount.DocumentElement.Attributes.Append(xmldocCount.CreateAttribute("typexml"));
            xmldocCount.DocumentElement.Attributes["typexml"].Value = "Count";
            xmldocCount.DocumentElement.Attributes.Append(xmldocCount.CreateAttribute("itemname"));
            xmldocCount.DocumentElement.Attributes["itemname"].Value = this.CtrlItemName;
            //当前页数据
            DataSet ds = new DataSet(this.CtrlXmlLand.ClientID);
            ds.EnforceConstraints = false;
            strParams = this.getStrParams();
            page.PgQuery.FillDataSet(this.CtrlWorkItem.DataSrc, paramlist, strParams, ds);
            this.CtrlDataSource = ds.Tables[this.CtrlWorkItem.DataSrc];
            this.FillTabConfig(this.CtrlDataSource);
            if (this.CtrlDataSource == null) leofun.CreateLogFile("错误:" + this.CtrlWorkItem.DataSrc);
            //增加行光标列
            if(null!=this.CtrlDataSource && !this.CtrlDataSource.Columns.Contains("RowNum"))
                this.CtrlDataSource.Columns.Add("RowNum",Type.GetType("System.Int32"));
            if (iPageSize < 1) iPageSize = 10;
            int iPageIndex=1;
            if(null!=this.ViewState["PageIndex" + CtrlWorkItem.DataSrc])
                iPageIndex = Convert.ToInt32(this.ViewState["PageIndex" + CtrlWorkItem.DataSrc]);
            for (int i = 0; null != this.CtrlDataSource && i < this.CtrlDataSource.Rows.Count; i++)
                this.CtrlDataSource.Rows[i]["RowNum"] = i + 1+(iPageIndex-1)*iPageSize;
            //如果是数字类型,值是0的,改为空的
            for (int i = 0;null!=this.CtrlDataSource && i < this.CtrlDataSource.Columns.Count; i++)
            {
                DataColumn col = this.CtrlDataSource.Columns[i];
                if ("rownum" == col.ColumnName.ToLower()) continue;
                if ("Decimal" != col.DataType.Name && "Double" != col.DataType.Name && "Int16" != col.DataType.Name
                        && "Int32" != col.DataType.Name && "Int64" != col.DataType.Name && "Single" != col.DataType.Name
                         && "UInt16" != col.DataType.Name && "UInt32" != col.DataType.Name && "UInt64" != col.DataType.Name)
                    continue;
                DataRow[] drs = this.CtrlDataSource.Select(col.ColumnName + "=0");
                for (int j = 0; j < drs.Length; j++)
                   drs[j][i] = DBNull.Value;
            }
            //生成数据文档
            this.CtrlXmlLand.Document = new XmlDataDocument(ds);
            this.CtrlDBXmlDoc = this.CtrlXmlLand.Document;
            XmlDocument xmldoc = this.CtrlXmlLand.Document;
            if (xmldoc.DocumentElement == null)
                xmldoc.AppendChild(xmldoc.CreateElement(this.CtrlXmlLand.ClientID));
            if (null == xmldoc.DocumentElement.Attributes["id"])
                xmldoc.DocumentElement.Attributes.Append(xmldoc.CreateAttribute("id"));
            if (null == xmldoc.DocumentElement.Attributes["itemname"])
                xmldoc.DocumentElement.Attributes.Append(xmldoc.CreateAttribute("itemname"));
            if (null == xmldoc.DocumentElement.Attributes["typexml"])
                xmldoc.DocumentElement.Attributes.Append(xmldoc.CreateAttribute("typexml"));
            xmldoc.DocumentElement.Attributes["id"].Value = this.CtrlXmlID;
            xmldoc.DocumentElement.Attributes["itemname"].Value = this.CtrlItemName;
            xmldoc.DocumentElement.Attributes["typexml"].Value = "Data";
            if (iRecordCount < this.CtrlDataSource.Rows.Count)
                iRecordCount = this.CtrlDataSource.Rows.Count;
            //当前页码,行记录个数
            //在XmlCount数据岛增加TotalPage;PageIndex;PageSize,RecordCount数据
            XmlNode xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("TotalPage"));
            xmlNode.InnerText = (null == this.ViewState["TotalPages" + CtrlWorkItem.DataSrc]) ? "1" : this.ViewState["TotalPages" + CtrlWorkItem.DataSrc].ToString();
            xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("PageIndex"));
            xmlNode.InnerText = (null == this.ViewState["PageIndex" + CtrlWorkItem.DataSrc]) ? "1" : this.ViewState["PageIndex" + CtrlWorkItem.DataSrc].ToString();
            xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("PageSize"));
            xmlNode.InnerText = iPageSize.ToString();
            xmlNode = xmldocCount.DocumentElement.FirstChild.AppendChild(xmldocCount.CreateElement("RecordCount"));
            xmlNode.InnerText = iRecordCount.ToString();
            //删除区数据
            this.CtrlXmlDelete.Document = new XmlDocument();
            XmlDocument xmldocDel = this.CtrlXmlDelete.Document;
            xmldocDel.AppendChild(xmldocDel.CreateElement(xmldoc.DocumentElement.LocalName));
            xmldocDel.DocumentElement.Attributes.Append(xmldocDel.CreateAttribute("id"));
            xmldocDel.DocumentElement.Attributes["id"].Value = this.CtrlXmlID + "_Delete";
            xmldocDel.DocumentElement.Attributes.Append(xmldocDel.CreateAttribute("typexml"));
            xmldocDel.DocumentElement.Attributes["typexml"].Value = "Delete";
            xmldocDel.DocumentElement.Attributes.Append(xmldocDel.CreateAttribute("itemname"));
            xmldocDel.DocumentElement.Attributes["itemname"].Value = this.CtrlItemName;

            //数据岛结构信息
            this.CtrlXmlSchema.Document = new XmlDocument();
            this.CtrlXmlSchema.Document.LoadXml(ds.GetXmlSchema());
            this.CtrlDBSchema = this.CtrlXmlSchema.Document;
            this.setSchema();
            //字典绑定
            this.CtrlDataBindDict();
            //处理输出的字段格式
//.........这里部分代码省略.........
开发者ID:thisisvoa,项目名称:GranityApp2.5,代码行数:101,代码来源:GridLandConfig.ascx.cs

示例14: WriteDataset

 private void WriteDataset(DataSet ds)
 {
     output.Append('{');
     if ( jsonParameters.UseExtensions)
     {
         WritePair("$schema", jsonParameters.UseOptimizedDatasetSchema ? (object)GetSchema(ds) : ds.GetXmlSchema());
         output.Append(',');
     }
     bool tablesep = false;
     foreach (DataTable table in ds.Tables)
     {
         if (tablesep) output.Append(",");
         tablesep = true;
         WriteDataTableData(table);
     }
     output.Append('}');
 }
开发者ID:Michael-Stock,项目名称:SkinnyJson,代码行数:17,代码来源:JsonSerializer.cs

示例15: loadXMLRSS2_0

        public bool loadXMLRSS2_0(channel ch, string rss)
        {
            using (DataSet rssData = new DataSet())
            {
                System.IO.StringReader sr = new System.IO.StringReader(rss);
                DataSet ds2 = new DataSet();

                rssData.ReadXmlSchema("RSS-2_0-Schema.xsd");
                //rssData.InferXmlSchema(sr, null);
                rssData.EnforceConstraints = false;
                rssData.ReadXml(sr, XmlReadMode.Auto);
                string str = rssData.GetXmlSchema();
                if (rssData.Tables.Contains("channel"))
                {
                    foreach (DataRow dataRow in rssData.Tables["channel"].Rows)
                    {

                        //ch.title = dataRowContains("title", dataRow, rssData);//Convert.ToString(dataRow["title"]);

                        //rss_sub.set_title(ch.title);
                        ch.description = dataRowContains("description", dataRow, rssData);//Convert.ToString(dataRow["description"]);
                        ch.link = dataRowContains("link", dataRow, rssData);//Convert.ToString(dataRow["link"]);
                        ch.lastBuildDate = dataRowContains("lastBuildDate", dataRow, rssData);//Convert.ToString(dataRow["lastBuildDate"]);
                        ch.pubDate = dataRowContains("pubDate", dataRow, rssData);//Convert.ToString(dataRow["pubDate"]);
                        ch.ttl = dataRowContains("ttl", dataRow, rssData);//Convert.ToString(dataRow["ttl"]);

                        foreach (DataRow im in rssData.Tables["image"].Rows)
                        {
                            ch.imageUrl = im["url"].ToString();
                            ch.imageTitle = im["title"].ToString();
                        }

                        int counter = 0;
                        if (ch.pubDate.Length > 6)
                        {
                            ch.pubDate = ch.pubDate.Substring(0, ch.pubDate.Length - 6);
                        }
                        foreach (DataRow itemRow in rssData.Tables["item"].Rows)
                        {
                            Item inside = new Item();
                            inside.titleI = dataRowContains("title", itemRow, rssData);//Convert.ToString(itemRow["title"]);
                            string desc = dataRowContains("description", itemRow, rssData);// Convert.ToString(itemRow["description"]);
                            processDescription(desc, inside);
                            inside.linkI = dataRowContains("link", itemRow, rssData);//Convert.ToString(itemRow["link"]);
                            inside.guidI = dataRowContains("guid", itemRow, rssData);//Convert.ToString(itemRow["guid"]);
                            //inside.guidI = Convert.ToString(rssData.Tables["guid"].Rows[counter].ItemArray[1]);
                            inside.pubDateI = dataRowContains("pubDate", itemRow, rssData);//Convert.ToString(itemRow["pubDate"]);
                            if(inside.pubDateI.Length > 6)
                            {
                                inside.pubDateI = inside.pubDateI.Substring(0, inside.pubDateI.Length - 6);
                            }

                            inside.subscription = ch.title;
                            ch.item.Add(inside);
                            counter++;
                            if (counter > ch.maxItems) { break; }
                        }
                        /*channel rem = channels.Where(c => c.title == name).FirstOrDefault();
                        if (rem != null)
                        {
                            channels.Remove(rem);
                        }
                        if (findChannelName(ch.title) == null)
                        {

                            channels.Add(ch);
                        }
                        */
                    }
                }
                return true;
            }
        }
开发者ID:AnthonySimmons,项目名称:RSS_Web,代码行数:73,代码来源:parser.cs


注:本文中的System.Data.DataSet.GetXmlSchema方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。