Etiket: Generate Schema

How To : Generate XSD From XML File in C#

Mart 22nd, 2011

XML dosyalarından XSD şemaları üretmek istediğinizde, Command Promptan, xsd.exe (XML Schema Definition Tool) uygulamasını kullanabilirsiniz. Bunun ile ilgili bir yazı yazmıştım yanlış hatırlamıyorsam. Fakat dinamik olarak şemalar üretmek istediğinizde veya uygulamanıza bu şemaları ürettirmek istediğinizde cmd den komut yazıp, xsd.exe yi kullanmanız uygun olmayacaktır. Bunun yerine aşağıdaki metodu kullanabilirsiniz.

     private void GenerateSchema(string filePath)
        {
            var reader = XmlReader.Create(filePath);
            var schema = new XmlSchemaInference();
            var schemaSet = schema.InferSchema(reader);
            TextWriter writeFile = new StreamWriter("c:\\schema.xsd");
            foreach (XmlSchema s in schemaSet.Schemas())
            {
                s.Write(writeFile);
            }
            writeFile.Close();
        }

Tags: , , , , , , , , ,
Posted in .NeT 2008, BizTalk, Yazılım | No Comments »

Biztalk 2009 : SQLBinding – 1

Eylül 3rd, 2009

Aşağıdaki hazırladığım, WCF-Custom SqlAdapter Bindingi ile ilgili ufak bir örnek bulabilirsiniz;

  1. Bu örnek de xml dosyasında bulunan datalarımızı, bu datalara uygun olarak hazırlanmış olan bir sql server da bir tabloya kaydını gerçekleştireceğiz. Bunun için ilk önce aşağıdaki şekildeki gibi bir sqlbinding isminde bir database oluşturuyorum.
  2. 1

  3. Oluşturduğum tabloya yeni bir tablo ekliyoruz.
  4. 2

  5. Tablo elemanlarını aşağıdaki şekildeki gibi oluşturuyoruz. Buradaki ID alan primary key ve inremental olarak artıyor. Diğer alanlar varchar(50).
  6. 3

  7. Daha sonra visual studio da yeni bir biztalk server 2009 projesi oluşturuyoruz. Ben burada da proje ismine sqlbinding dedim :) Oluşan proje üzerine sağ tıklayıp, Add, Add Generated Items… yolunu izliyoruz.
  8. 4

  9. Generated Schema Files alanından ConsumeAdapterService ı seçip Add butonuna tıklıyoruz.
  10. 6

  11. Select a binding: kısmından sqlBinding seçip Configure… butonuna tıklıyoruz.
  12. 7

  13. Configure Adapter penceresinde, security ayarları tabında, Client credential type Windows seçilir. Eğer sql connection bilgileriniz sql authentication gerektiriyorsa, bu ekranda username, SSO kullanıyorsanız SSO seçebilirsiniz.
  14. 8

  15. URI Properties ekranında bağlantı ayarları yapılır;
    Burada bulunan,

    InitialCatalog : bağlanacağımız db nin ismi (ben ilk olarak db oluştururken ismini sqlbinding vermiştim)
    InstanceName : bağlanacağımız sql serverın istance ismi (bu örnekde benim bir instanceım yok o yüzden boş geçiyorum. Eğer SQLExpress kullanıyorsanız, bu kısma SQLEXPRESS diye instance ismini belirtmeniz gerekir.)
    Server : sql serverın bulunduğu server veya pc. IP veya DNS olabilir. Ben local kullandığım için (.) deyip geçtim.

  16. 9

  17. Ayarları yaptıktan sonra Connect butonuna tıklıyoruz. Bir sorun yok ise aşağıdaki reismdeki gibi Procedures, Tables, vs.. şeklinde sql kategorilerinin gelmesi gerekir.
    Eğer işlemimiz bir procedür üzerinden ilerliyecekse buradan Procedures seçilebilir. Fakat biz sadece ekleme işlemi yapacağımız için Tables tabı seçilir. Operations kısmından ise Ekleme yapacağımız için Insert seçilir ve Add butonuna tıklanır.

    Filename Prefix kısmından oluşacak olan schemalar için (karışıklığı önlemek için) bir ön isim verebilirsiniz. Bu işlem de yapıldıktan sonra Ok butonuna tıklanır ve Biztalk bizim için schemaları otomatik olarak üretir :)

  18. 10

  19. SQL şemamızı oluşturduktan sonra sıra XML dosyamızı ve şemasını oluşturmaya geldi. Bunun için aşağıdaki resimdeki gibi, database deki alanlarıma uygun(ki uygun olmasına gerek yok:)) bir XML dosyası oluşturdum. Burada dikkat etmeniz gereken en tepede mutlaka bir root node olması gerekir. Yani ana seviyede çoklu kayıt olamıyor.
  20. 11

  21. Şimdi sıra hazırladığımı XML dosyasının şemasını oluşturmaya geldi. Bunun için yine sağ click -> Add Generated Items a gelinir. Generate Schemas seçilir ve Add butonuna tıklanır.
  22. 12

  23. Document Type kısmından Well-Formed XML, Input file olarak da oluşturduğumuz xml dosyası seçilir ve OK butonuna tıklanır.
  24. 13

bir sonraki postumdan yazı devam edicek…

Tags: , , , , , , , , ,
Posted in Bilgisayar | No Comments »