Jump to content
TNC-TR
korasoglu

Xml Dosya Oluşturma

Recommended Posts

Arkadaşlar iş yerinde işe giriş ve çıkış yapıyoruz normalde tek tek yapılıyorken artık toplu yapılabiliyormuş xml dosyası kabul ediyor dosyanın formatı şu 

<?xml version="1.0" encoding="ISO-8859-9"?>
<SGK4AISEGIRIS>
    <ISYERI ISYERISICIL="000000000000000000001" ISYERIARACINO="0" ISYERIUNVAN="Unvan" ISYERIADRES="Adres" />
    <SIGORTALILAR>
            <SIGORTALI TCKNO="10000000001" AD="Ad" SOYAD="soyad" ISEGIRISTARIHI="2016-09-23" SIGORTAKOLU="0" OZURLUKODU="H" ESKIHUKUMLU="H" OGRENIMKODU="0" MEZUNIYETYILI="1900" MEZUNIYETBOLUMU="Blm" CSGBISKOLU="1" MESLEKKODU="9901.02" GOREVKODU="2" />
            <SIGORTALI TCKNO="10000000002" AD="Ad" SOYAD="soyad" ISEGIRISTARIHI="2016-09-23" SIGORTAKOLU="0" OZURLUKODU="H" ESKIHUKUMLU="H" OGRENIMKODU="0" MEZUNIYETYILI="1900" MEZUNIYETBOLUMU="Blm" CSGBISKOLU="1" MESLEKKODU="9901.02" GOREVKODU="2" />
        </SIGORTALILAR>
</SGK4AISEGIRIS>

nasıl oluşturabilirim önerilerinizi ve yardımlarınızı bekliyorum. Tırnakların önüne \ ekliyorum &lt  şu şekilde çıktısı oluyor 

OleDbConnection xlsxbaglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=avci.xls; Extended Properties='Excel 12.0 Xml;HDR=YES'"); //excel_dosya.xlsx kısmını kendi excel dosyanızın adıyla değiştirin.
            DataTable tablo = new DataTable(); //Verileri direkt datagrid'e çekmek için DataTable kodunu tanımlıyoruz.

            int kayitsay = 0; //Toplam kaç kayıt çektiğimizi anlamak için kayitsay adında bir değişken tanımlıyoruz.
            xlsxbaglanti.Open(); //Excel dosyamızın bağlantısını açıyoruz.
            OleDbCommand komut = new OleDbCommand("SELECT * FROM [4A İşe Giriş$]", xlsxbaglanti); //OleDbCommand ile excel dosyamızdaki verileri listeliyoruz. Burada önemli olan kısım sorgu cümleciğinde ki YeniSayfa$ kısmı yerine excel dosyasındaki ismi yazmanız gerek. Bu isim excel dosyanızı açtığınızda en altta yazan isimdir. Eğer değiştirmediyseniz zaten Sayfa1 olarak yazar. Ayrıca " $ " simgesi ve köşeli parentezleri ellememeniz gerek.
            OleDbDataReader oku = komut.ExecuteReader(); //OleDbCommand ile gelen verileri tek tek okumak için OleDbDataReader sınıfındaki oku değişkenine atıyoruz. Ve...
            while (oku.Read()) //... Ardından verileri döngüye alıyoruz.
            {
                //Excel de ilk satırdaki alanlar başlık olarak kabul edilir. Bu bilgiye göre aşağıdaki kodlarımızı yazıyoruz. Yani ilk satırda AdSoyad,Cinsiyet ve Yas kısımları var. Bunların altında da bilgiler var. Biz bu başlıkların altındaki bilgileri çekiyoruz.
                string adSoyad = oku["No"].ToString();
                string Cinsiyet = oku["Numarası"].ToString();
                string Yas = oku["asd"].ToString();
                kayitsay++; //Her döngüde sayacımız bir artıyoruz.
                //Environment.NewLine kodu bir alt satıra geçmek için kullanılmaktadır.

                XmlTextWriter xmlDocument = new XmlTextWriter("ayar.xml", System.Text.UTF8Encoding.UTF8);
                try
                {
                    xmlDocument.WriteStartDocument();//xmle yazma işlemini başlattık
                    
                    xmlDocument.WriteStartElement("SGK4AISEGIRIS");
                    xmlDocument.WriteStartElement("SIGORTALILAR");
                    xmlDocument.WriteElementString("ISYERI ISYERISICIL=\"000000000000000000001\" ISYERIARACINO=\"0\" ISYERIUNVAN=\"Unvan\" ISYERIADRES=\"Adres\" ", "");
                    xmlDocument.WriteElementString("SIGORTALI TCKNO=\"10000000001\" AD=\"Ad\" SOYAD=\"soyad\" ISEGIRISTARIHI=\"2016-09-23\" SIGORTAKOLU=\"0\" OZURLUKODU=\"H\" ESKIHUKUMLU=\"H\" OGRENIMKODU=\"0\" MEZUNIYETYILI=\"1900\" MEZUNIYETBOLUMU=\"Blm\" CSGBISKOLU=\"1\" MESLEKKODU=\"9901.02\" GOREVKODU=\"2\" ", "");
                    xmlDocument.WriteEndElement();
                    xmlDocument.WriteEndElement();
                    xmlDocument.WriteEndDocument();/
                    xmlDocument.Close();
                    ad();
                }

                catch (Exception ex)
                {
                    
                   
                }

 

Bu şekilde sablonu oluşturdum veriyi çekiyorum fakat çektiğim veriyi kullanamıyorum

"SIGORTALI TCKNO=\"10000000001\" AD=\"Ad\" SOYAD=\"soyad\" ISEGIRISTARIHI=\"2016-09-23\" SIGORTAKOLU=\"0\" OZURLUKODU=\"H\" ESKIHUKUMLU=\"H\" OGRENIMKODU=\"0\" MEZUNIYETYILI=\"1900\" MEZUNIYETBOLUMU=\"Blm\" CSGBISKOLU=\"1\" MESLEKKODU=\"9901.02\" GOREVKODU=\"2\" ", ""

yardımcı olursanız sevinirim kbs rar orjinal sitesinden alınan şaplondur

Yeni klasör.rar

kbs.rar

Edited by korasoglu

Share this post


Link to post
Share on other sites

Arkadaşlar Olayı çözdüm ihtiyacı olan olursa proje dosyalarını verebilirim.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×