Skip to main content

AccessTr.neT


SGK e-bildirge için VB.Net ile XML dosya oluşturmak

SGK e-bildirge için VB.Net ile XML dosya oluşturmak

#1
SGK e-bildirge için Excel den XML dosya oluşturmak yerine VB.Net ile  datagrdiview kullanarak  SGK için  XML şablonu oluşturmak istiyorum
Ben aşağıdaki kodlarla deneme yapıyorum ama eksiklikler var. Bu eksiklikleri Orjinal olan ve SGK aktarımı yapılan bir xml örneği üzerinde aşağıdaki resimlerde gösterdim. Resimler olması gereken dosya örneğidir. Benim kodlar ile oluşan dosya görüntüsünü de en son resime yükledim.
Kod:
Dim saveFileDialog As New SaveFileDialog()
       saveFileDialog.Filter = "XML-File | *.xml"
       saveFileDialog.FileName = DateTime.Now.ToString("dd-MMMM-yyyy") + "-MusteriXML"
       If saveFileDialog.ShowDialog() = DialogResult.OK Then
           dosyaadi = saveFileDialog.FileName


           Dim xtw As New Xml.XmlTextWriter(dosyaadi, System.Text.Encoding.GetEncoding("iSO-8859-9"))
           xtw.WriteStartDocument()       '//Start ederek xml’i arka planda açıyoruz.açıyoruz derken yazma işlemıne hazır vazıyette tutuyoruz
           xtw.Formatting = Formatting.Indented
           xtw.IndentChar = ChrW(9) 'TAB TUŞU


           xtw.WriteStartElement("AYLIKBILDIRGELER") '// Root’u belırlıyoruz.Yani Kök Elemanı(kök Elemanı olmaz ise XML çalışma esnasında hata vermektedır.)
           xtw.WriteStartElement("ISYERI ISYERISICIL") 'Root’un içerisine Attribute yanı value ’mizi eklıyoruz.
           xtw.WriteAttributeString("", "sicilno")
           xtw.WriteAttributeString("", "adasd")
           xtw.WriteEndElement() 'KAPATTIK

           xtw.WriteStartElement("BORDRO DONEMAY") 'Root’un içerisine Attribute yanı value ’mizi eklıyoruz.
           xtw.WriteAttributeString("" & "", "5")
           xtw.WriteAttributeString("DONEMYIL", "2013")
           xtw.WriteAttributeString("BELGEMAHIYET", "A")
           xtw.WriteEndElement() 'KAPAT

           xtw.WriteStartElement("BILDIRGELER") '3 =======
           xtw.WriteAttributeString("BELGETURU", "13")
           xtw.WriteAttributeString("DONEMYIL", "2013")
           xtw.WriteAttributeString("KANUN", "00000")


           xtw.WriteStartElement("SIGORTALILAR") '// Root’u belırlıyoruz.Yani Kök Elemanı(kök Elemanı olmaz ise XML çalışma esnasında hata vermektedır.)
           xtw.WriteStartElement("SIGORTALILAR") 'ana root
           xtw.WriteAttributeString("SIRA", "1")
           xtw.WriteAttributeString("SIGORTALISICIL", "480119971050")
           xtw.WriteAttributeString("TCKNO", "49996666666")
           xtw.WriteEndElement() 'KAPAT

           xtw.WriteEndElement() 'KAPAT
           xtw.WriteEndElement() 'KAPAT
           xtw.WriteEndElement() 'KAPAT

           xtw.WriteEndDocument()
           xtw.Close()

       End If

Son Düzenleme: 18/10/2016, 11:01, Düzenleyen: umutakkaya.
Cevapla
#2
aşağıdaki örnek olması gereken xml dosyasının resmi.[Resim: do.php?imgf=147677738879721.jpg]
Son Düzenleme: 18/10/2016, 11:17, Düzenleyen: umutakkaya.
Cevapla
#3
(18/10/2016, 10:56)umutakkaya yazdı: aşağıdaki örnek not defteri olarak kaydedilen ve olması gereken xml dosyasını kopyalayıp excele yapıştırıldığında Excel görüntüsü.[Resim: do.php?imgf=147677749188811.jpg]
Son Düzenleme: 18/10/2016, 11:19, Düzenleyen: umutakkaya.
Cevapla
#4
[Resim: do.php?imgf=147677891271381.jpg]
[Resim: do.php?imgf=147677891284652.jpg]
Cevapla
#5
Kaç sütun olduğunun bir önemi olmaması gerek isterse 10 adet sekme olsun. SGK yorumlayıcısı sadece düğümleri okuyacaktır. Eğer bir hata var ve sebebini arıyorsanız <Sigortalılar> alt düşümünde <Sigortalı ... > olacağına <Sigortalılar ... > yazmışsınız.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#6
(19/10/2016, 09:22)alpeki99 yazdı: Kaç sütun olduğunun bir önemi olmaması gerek isterse 10 adet sekme olsun. SGK yorumlayıcısı sadece düğümleri okuyacaktır. Eğer bir hata var ve sebebini arıyorsanız <Sigortalılar> alt düşümünde <Sigortalı ... > olacağına <Sigortalılar ... > yazmışsınız.

Anladım dediğinizi .Yalnız sorun şu.  notpad deki oluşturduğum sgk bilgilerine ait verileri ctrl+a ile tümünü seçip bir Excel dosyasına yapıştırınca Yukarıdaki 3 numaralı resimdeki şekilde yerleşmesi gerekmiyor mu? Bu dediğim 3 numaralı resim orjinal olan ve nodpad de oluşmuş bir sgk xml yapıştırılmış halidir. Benim oluşturduğum nodpade copy yapıştır olan Excel görünümü de resim 4 tekidir. Bu 4 ncü resimde olması gerekeni üzerinde de oklar ile belirtip açıklama yazdım.
Son Düzenleme: 19/10/2016, 13:20, Düzenleyen: umutakkaya.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da