XSD Şemasından .NeT Classı Üretmek

Çarşamba, Ekim 1st, 2008 @ 08:26

Evet başlık doğru :) Elinizde bulunan herhangi bir XSD şemasını kullanarak otomatik olarak .net sınıfı oluşturabilirsiniz.

Hatta bu yöntemle, sınıf tasarımlarınızı XML ile kolayca hazırlayabilirsiniz.

Aşağıda basit bir xml dosyası görebilirsiniz.

Kisi.XML

Şekildeki gibi basit bir XML dosyası hazırladıktan sonra, BizTalk 2006 da bulunan Schema Generatoru kullanarak XML dosyamızı otomatik olarak XSD schemasına dönüştürebiliriz. Tüm bunlarla uğraşmak istemiyorsanız ise XML veya generatoru kullanmadan, Boş bir XSD dosyası açarak istediğiniz schemayı manuel olarak oluşturabilirsiniz.

XML dosyasından XSD yi nasıl oluşturacağımıza gelince,

Aşağıdakinin aynısı yapılır,

1

Yukarıdaki yapıldıktan sonra ise aşağıdakinin aynısı yapılır,

2

Yukarıdaki yapıldıktan sonra ise aşağıdakinin aynısı yapılır,

3

Yukarıdaki yapıldıktan sonra ise aşağıdakinin aynısı yapılır,

4

Tüm işlemler yapıldıktan sonra üstteki gibi bir schema dosyamız oluşturulmul olacaktır. Daha sonra ise oluşturduğumuz bu XSD dosyasını kolaylık olması için C:\ dizinine kopyalayalım. Bu işlem command prompta yazılan komutun kısa ve kolay olmasını sağlayacaktır :)

Sonra “Visual Studio Command Prompt” çalıştırılır ve aşağıdaki komut yazılır.

XSD c:\kisiler.xsd /c /out:c:\

Bu komut işletildikten sonra “c:\kisiler.cs” aşağıdaki içerikle beraber oluşturulmuş olacaktır.

Kisiler.cs içeriği:

//——————————————————————————
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.42
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//——————————————————————————

using System.Xml.Serialization;

//
// This source code was auto-generated by xsd, Version=2.0.50727.42.
//

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
public partial class Kisiler {

private KisilerKisi kisiField;

/// <remarks/>
public KisilerKisi Kisi {
get {
return this.kisiField;
}
set {
this.kisiField = value;
}
}
}

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class KisilerKisi {

private string adField;

private string soyadField;

/// <remarks/>
public string Ad {
get {
return this.adField;
}
set {
this.adField = value;
}
}

/// <remarks/>
public string Soyad {
get {
return this.soyadField;
}
set {
this.soyadField = value;
}
}
}

Kisiler.XSD içeriği :

<?xml version=”1.0″ encoding=”utf-16″?>
<xs:schema attributeFormDefault=”unqualified” elementFormDefault=”qualified” xmlns:xs=”http://www.w3.org/2001/XMLSchema”>
<xs:element name=”Kisiler”>
<xs:complexType>
<xs:sequence>
<xs:element name=”Kisi”>
<xs:complexType>
<xs:sequence>
<xs:element name=”Ad” type=”xs:string” />
<xs:element name=”Soyad” type=”xs:string” />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

Görüldüğü gibi tüm sınıf içeriği çok basit bir şekilde otomatik olarak oluşturuldu. Bunu daha kompleks XML dosyaları veya XSD schemaları içinde yapabiliriz. Otomatik olarak oluşturulacak sınıfımız ona göre karmaşık olacaktır.

İlişkili Yazılar :

  1. How To : Generate XSD From XML File in C#
  2. BizTalk Server Tracking Database’i Kod İle Sorgulamak
  3. Sharepoint 2010 Error : The underlying connection was closed: “Could not establish trust relationship for the SSL/TLS secure channel.”
  4. C# da Çalışan Uygulamanın Klasörünü Bulma
  5. Mail Gönderme C# Kodu // Send Mail C# Code
  6. DataTable da Sütunun DataType’ını Belirleme
  7. XML ve XSLT Dosyalarını İşleyerek Ekrana HTML Çıktısı Veren ASPX Sayfası
  8. How to Create Flat File Schema in Biztalk
  9. C# da Ping Atmanın En Kolay Yolu
  10. Biztalk 2009 : SQLBinding – 1

Tags: , , , ,
Posted in .NeT 2008, BizTalk | No Comments »

Önceki Yazı << Sonraki Yazı >>

Leave a Reply



Yeni yorumları e-posta aracılığıyla bana bildir. Ayrıca yorum yapmadan da abone olabilirsiniz.