Yazanlarda |
|
h.ibrahim polat Yeni Üye
Kayıt Tarihi: 19-Mayıs-2012 Ülke: Turkiye Gönderilenler: 18
|
Gönderen: 19-Mayıs-2012 Saat 15:48 | Kayıtlı IP
|
|
|
Merhaba bu işlerde yeniyim. Aşağıdaki kesit gibi devam eden bir xml dosyasına bağlandım.
<?xml version="1.0" encoding="UTF-8"?><ROOT> <STOKLAR> <STOK Stok_Kod="ANAAMD0001AMD030" Stok_Ad="Foxconn AHD1S-K OnBoard AMD E350 DDR3 S+V+GL+16X"> <OZELLIKLER> <OZELLIK>PCI Express x1 Slot Sayıs </OZELLIK><DEGER>Yok </DEGER><OZELLIK>Tümleşik Görüntü Kartı </OZELLIK><DEGER>Var </DEGER><OZELLIK>İşlemci Üreticisi </OZELLIK><DEGER>Amd </DEGER><OZELLIK>PCI Express x16 Slot Sayı </OZELLIK><DEGER>1 </DEGER><OZELLIK>PCI Slot Sayısı </OZELLIK><DEGER>Yok </DEGER><OZELLIK>Maksimum Bellek </OZELLIK><DEGER>8 GB </DEGER><OZELLIK>Yapı Standartı </OZELLIK><DEGER>Micro ATX (mATX) </DEGER><OZELLIK>Garanti Süresi </OZELLIK><DEGER>36 Ay </DEGER><OZELLIK>Tümleşik Ağ Kartı </OZELLIK><DEGER>10/100/1000 Mbps </DEGER><OZELLIK>Portlar </OZELLIK><DEGER>1 x PS/2 Klavye </DEGER><OZELLIK>Portlar </OZELLIK><DEGER>1xDVI (Monitör Çıkışı) </DEGER><OZELLIK>Portlar </OZELLIK><DEGER>6 Kanal Ses(5+1) </DEGER><OZELLIK>Portlar </OZELLIK><DEGER>1 x VGA (Monitör Çıkışı) </DEGER><OZELLIK>Portlar </OZELLIK><DEGER>1 x RJ-45 Ethernet </DEGER><OZELLIK>Portlar </OZELLIK><DEGER>4 x USB 2.0 </DEGER><OZELLIK>Portlar </OZELLIK><DEGER>1 x HDMI </DEGER><OZELLIK>PCI Express x4 Slot Sayı </OZELLIK><DEGER>Yok </DEGER><OZELLIK>Sabit Diskler </OZELLIK><DEGER>2 x SATA II </DEGER><OZELLIK>DIMM </OZELLIK><DEGER>2 </DEGER><OZELLIK>Raid Desteği </OZELLIK><DEGER>Yok </DEGER></OZELLIKLER> </STOK>
Bu dosyadan verileri çekip veri tabanına yazmak için aşağıdaki kodları yazdım. Bağlantıda sorun yok fakat veri tabanına verileri çekmiyor. Dil olarak ASP kullanıyorum. Başka da birşey bilmiyorum zaten. Lütfen yardım eder misiniz?
<% set xmlDoc = CreateObject("MSXML.DOMDocument") xmlDoc.async = false xmlDoc.setProperty "ServerHTTPRequest", true xmlDoc.load("dosya.xml")
set baglan=server.createobject("ADODB.Connection") baglan.Open "provider=microsoft.jet.oledb.4.0;data source="&Server.MapPath("database.mdb")
set rekord=server.createobject("ADODB.Recordset") cumle="select * from ozellikler" rekord.open cumle,baglan,1,3
Set sec = xmlDoc.selectNodes("//STOK") For i = 0 to (sec.Length - 1) rekord("stokkodu")=sec(i).GetAttribute("Stok_Kod") rekord("stokadi")=sec(i).GetAttribute("Stok_Ad") rekord("ozellikler")=sec(i).GetAttribute("OZELLIK" ) rekord("degerler")=sec(i).GetAttribute("DEGER") rekord.update Next
rekord.close set rekord=nothing baglan.close set baglan=nothing
response.write("Xml dosyasi veri tabanina basariyla kaydedildi") %>
Acaba nerede yanlış yapıyorum?
|
Yukarı Dön |
|
|
kabadayı hakan Yeni Üye
Kayıt Tarihi: 21-Mayıs-2012 Ülke: Türkiye Gönderilenler: 34
|
Gönderen: 21-Mayıs-2012 Saat 19:48 | Kayıtlı IP
|
|
|
örnel xml veya mysql dump olmadan tam kodu öneremem ancak aşağıdakine benzer bir çalışma ile basitçe bu işi halledebilirsin eğer xml yapısı daha karışıksa seviye seviye ayrıca programlaman gerekecektir elbette.
<?php $tablo_adi="xml_tablosu"; @mysql_connect("sunucu adı","kullanıcı adı","şifre"); @mysql_select_db("veritabanı adı");
header("Content-Type: text/xml"); echo"<?xml version=\"1.0\"?>"; echo "\n<Results>";
mysql_query("SET CHARACTER SET utf8"); $result = mysql_query("SELECT * FROM $tablo_adi "); while($row = mysql_fetch_array($result)) { echo "\n\t<Location Code='".$row['field1']."' Name='".$row['field2']. "' />"; } @mysql_free_result($result);
echo "\n</Results>";
?>
Bu mantığı görebilmeni sağlar ancak daha güzel ve geliştirilmiş otomatik fieldnameleri falan çeken eşleştiren bir yapı için senin de daha fazlasını aktarman gerekiyor.
|
Yukarı Dön |
|
|