VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
DataSet のスキーマを取得しファイルへ書き込むにはWriteXmlSchemaメソッドを使用します。
サンプルでは、データセットにデータをセットし、そのスキーマをファイルへ書き出しています。
DataSet dtSet = new DataSet("ADDRESS_BOOK"); DataTable dtTbl = dtSet.Tables.Add("ADDRESS_LIST"); dtTbl.Columns.Add("ZIP_CODE", typeof(string)); dtTbl.Columns.Add("ADDRESS", typeof(string)); //データセットにデータを構築 DataRow row; for (int i = 1; i < 5; i++) { row = dtTbl.NewRow(); row["ZIP_CODE"] = i.ToString().PadLeft(3, i.ToString()[0]) + "-" + i.ToString().PadLeft(4, i.ToString()[0]); row["ADDRESS"] = "東京都渋谷区" + i.ToString() + "丁目"; dtTbl.Rows.Add(row); } //スキーマファイルを作成 dtSet.WriteXmlSchema(@"C:\Work\Schema.xsd");
//作成されたスキーマ <?xml version="1.0" standalone="yes"?> <xs:schema id="ADDRESS_BOOK" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="ADDRESS_BOOK" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="ADDRESS_LIST"> <xs:complexType> <xs:sequence> <xs:element name="ZIP_CODE" type="xs:string" minOccurs="0" /> <xs:element name="ADDRESS" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema>