Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
633
Tıklama
0
Öne Çıkarma
DB ye gömülü XML veriden veri çekmek?
P
11 yıl
Teğmen
Konu Sahibi

Başlık nasıl süper di mi?

Neyse, selam arkadaşlar.

Kısaca anlatayım, XML verisini MySQL içine gömdüm. (Gerçi, db nin bu kodlar yüzünden patlayıp patlamayacağını bilmiyorum, orası başka bir soru! veri tipini TEXT ayarladım!)

XML Data;
<subgroupdata> 
<subnamedata skodu='1'>
<subalt>2</subalt>
</subnamedata>
</subgroupdata>


Çalışan normal XML okuyucusu ;
<% 
rssfile = "http://localhost/data.xml"

Dim objXML2, objRoot2, objItems2

Set objXML2 = Server.CreateObject("Microsoft.XMLDOM")
objXML2.Async = False
objXML2.SetProperty "ServerHTTPRequest", True
objXML2.ResolveExternals = True
objXML2.ValidateOnParse = True
objXML2.Load(rssFile)

On Error Resume Next

If (objXML2.parseError.errorCode = 0) Then
Set objRoot2 = objXML2.documentElement
If IsObject(objRoot2) = False Then
response.Write "Data Yok"
End If

Set objItems2 = objRoot2.getElementsByTagName("subnamedata")
If IsObject(objItems2) = True Then
Dim objItem2
For Each objItem2 in objItems2
strSub = objItem2.getAttribute("skodu")
strSubAlt= objItem2.selectSingleNode("subalt").Text
%>
<table>
<tr>
<td><%=strSub%></td>
<td><%=strSubAlt%></td>
</tr>
</table>

<%Next
else
End If
Set objRoo2t = Nothing
Set objItems2 = Nothing
End If
Set objXML2 = Nothing
%>


Şimcik benim ihtiyacım olan, yukarıda xml dosya yolu yerine;

rssfile = strData("xmldata") //şeklide db den veriyi getirmek ve tagName belirterek verinin içinden istediğim veriyi almak istiyorum. Yani ister "skodu", ister "subalt" 'ı ayrı ayrı çekebilmek!

Bitmedi :). İkincisi, diyelim ki db den çektiğimiz veri içerisinde, atıyorum "<subalt>2</subalt>" bu veriden 3 tane aynı varsa, sadece 1 tanesi yazmasını istiyorum.

Mümkünmüdür arkadaşlar?

Not; XML data verisi örnektir! keşke üste verdiğim örnek gibi olsaydı da uğraşmak zorunda kalmazdım. Fakat veri çok fazla!



K
11 yıl
Yarbay

Tum xml i db ye gomdugunuzde xmlin bir espirisi kalmamis bence. Db ye gomecekseniz neden xml , xml kullanacaksaniz neden db



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
P
11 yıl
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: Kaygerya

Tum xml i db ye gomdugunuzde xmlin bir espirisi kalmamis bence. Db ye gomecekseniz neden xml , xml kullanacaksaniz neden db

Kısmen veya tamamen haklı olabilirsiniz, akıl akıldan üstündür sonuçta, ben profesyonel değilim ama bir şekilde çözmeye çalışıyorum.

14 saattir kod yazıyorum, veri giriyorum, sağlıklı düşünemedim belkide.

Sorun şu aslında, binlerce ürün datası mevcut, her ürün için ayrı ayrı xml düzenlenmez, bana mantıklı gelmedi.
Onun yerine xml tagname mantığını db 'de tek bir alanda çözmeye gittim.
Çünkü bir ürünün 40 farklı değişkeni varken diğerinin 6 olabiliyor, ama bazen bu 40 değişkenli ile 6 değişkenli aynı ortamda bulunabilmeli.
Aynı değişkenleri paylaşıyor olmalılar.

DB ye 40-50 sütun açmak yerine, 1 alan içine bazısında 40 bazısında 6 veri girmeliyim. Enum gibi ama karşılıklar sabit değil, değişken!

Yukarıda yazdığım gibi basit değil, skodu=1 sabalt=2 değil aslında 89=14 96=5 42=17 gibi sürekli farklı karşılıklar mevcut.

Size yazarken aklıma bir şey geldi ve onu uygulamayı deneyeceğim.
Aslında dolaylı yoldan bir ışık yakmış oldunuz.

Yinede teşekkür ederim, bakalım olacak mı!?


Bu mesaja 1 cevap geldi.
K
11 yıl
Yarbay

quote:

Orijinalden alıntı: PouL

quote:

Orijinalden alıntı: Kaygerya

Tum xml i db ye gomdugunuzde xmlin bir espirisi kalmamis bence. Db ye gomecekseniz neden xml , xml kullanacaksaniz neden db

Kısmen veya tamamen haklı olabilirsiniz, akıl akıldan üstündür sonuçta, ben profesyonel değilim ama bir şekilde çözmeye çalışıyorum.

14 saattir kod yazıyorum, veri giriyorum, sağlıklı düşünemedim belkide.

Sorun şu aslında, binlerce ürün datası mevcut, her ürün için ayrı ayrı xml düzenlenmez, bana mantıklı gelmedi.
Onun yerine xml tagname mantığını db 'de tek bir alanda çözmeye gittim.
Çünkü bir ürünün 40 farklı değişkeni varken diğerinin 6 olabiliyor, ama bazen bu 40 değişkenli ile 6 değişkenli aynı ortamda bulunabilmeli.
Aynı değişkenleri paylaşıyor olmalılar.

DB ye 40-50 sütun açmak yerine, 1 alan içine bazısında 40 bazısında 6 veri girmeliyim. Enum gibi ama karşılıklar sabit değil, değişken!

Yukarıda yazdığım gibi basit değil, skodu=1 sabalt=2 değil aslında 89=14 96=5 42=17 gibi sürekli farklı karşılıklar mevcut.

Size yazarken aklıma bir şey geldi ve onu uygulamayı deneyeceğim.
Aslında dolaylı yoldan bir ışık yakmış oldunuz.

Yinede teşekkür ederim, bakalım olacak mı!?

Bunin icin productinfo gibi bir tablo acarsiniz sadece id productid, key ve value olan 4 kolonlu bir tablo ve tum ozellikleri oraya gomersiniz. Hali ile 6 ozelligi olan productun 6 satir gelir 20 ozelligi olan producttan 20 satir gelir.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
P
11 yıl
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: Kaygerya


quote:

Orijinalden alıntı: PouL

quote:

Orijinalden alıntı: Kaygerya

Tum xml i db ye gomdugunuzde xmlin bir espirisi kalmamis bence. Db ye gomecekseniz neden xml , xml kullanacaksaniz neden db

Kısmen veya tamamen haklı olabilirsiniz, akıl akıldan üstündür sonuçta, ben profesyonel değilim ama bir şekilde çözmeye çalışıyorum.

14 saattir kod yazıyorum, veri giriyorum, sağlıklı düşünemedim belkide.

Sorun şu aslında, binlerce ürün datası mevcut, her ürün için ayrı ayrı xml düzenlenmez, bana mantıklı gelmedi.
Onun yerine xml tagname mantığını db 'de tek bir alanda çözmeye gittim.
Çünkü bir ürünün 40 farklı değişkeni varken diğerinin 6 olabiliyor, ama bazen bu 40 değişkenli ile 6 değişkenli aynı ortamda bulunabilmeli.
Aynı değişkenleri paylaşıyor olmalılar.

DB ye 40-50 sütun açmak yerine, 1 alan içine bazısında 40 bazısında 6 veri girmeliyim. Enum gibi ama karşılıklar sabit değil, değişken!

Yukarıda yazdığım gibi basit değil, skodu=1 sabalt=2 değil aslında 89=14 96=5 42=17 gibi sürekli farklı karşılıklar mevcut.

Size yazarken aklıma bir şey geldi ve onu uygulamayı deneyeceğim.
Aslında dolaylı yoldan bir ışık yakmış oldunuz.

Yinede teşekkür ederim, bakalım olacak mı!?

Bunin icin productinfo gibi bir tablo acarsiniz sadece id productid, key ve value olan 4 kolonlu bir tablo ve tum ozellikleri oraya gomersiniz. Hali ile 6 ozelligi olan productun 6 satir gelir 20 ozelligi olan producttan 20 satir gelir.

:) Aklıma gelende tam olarak buydu. Hata tabloyu oluşturdum, şuan değişkenleri yazıyordum.

Çok teşekkür ederim.



K
11 yıl
Yarbay

Rica ederim. Keyleri kodda enum olarak tanimlar isen bir keyi boyut bir baska keyi Boyut bir baska keyi de boyutu gibi farkli farkli tanimlamaktan kurtulursun.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
P
11 yıl
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: Kaygerya

Rica ederim. Keyleri kodda enum olarak tanimlar isen bir keyi boyut bir baska keyi Boyut bir baska keyi de boyutu gibi farkli farkli tanimlamaktan kurtulursun.

Heh işte sorun burada patlak veriyor, demin yazmayı unuttum. Tam yazıyordum siz yazdınız.

Bari sorarak ilerleyelim, Enum mantığını biraz daha açarmısın.

Çünkü benim bildiğim, , '1','2','3' veya 'ayse', 'fatma', 'fadime' gibi değer tanımlaması yapmak zorundayım diye biliyordum!



K
11 yıl
Yarbay

Public enum productinfokeys
{ en,
Boy,
Derinlik,
Cozunurluk,
....
}

Biciminde tanimlayabilirsin.



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.