HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2005の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2005 Tips > XML Tips メニュー> DataSetによるXML操作 Tips メニュー

03.DataSet のスキーマを取得しファイルへ書き込む

UPDATE:2006/08/10 

<< 前のTips  次のTips >>

 


 DataSet のスキーマを取得しファイルへ書き込むにはWriteXmlSchemaメソッドを使用します。
 サンプルでは、データセットにデータをセットし、そのスキーマをファイルへ書き出しています。

 
サンプル1
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");


 
サンプル2
//作成されたスキーマ
<?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>