Asp ile aşağıdaki xml şablonuna uygun bilgileri ekrana nasıl yazdırabilirim, ilgilenecek arkadaşlara şimdiden teşekkürler.
dosya.xml
<?xml version="1.0" encoding="ISO-8859-9"?>
<root>
<urun>
<stokkodu> AC123 </stokkodu>
<marka> Intel </marka>
<ozellik tanimi="Mimari"> Core 2 Duo </ozellik>
<ozellik tanimi="Hız"> 2.8 Ghz </ozellik>
</urun>
</root>
Ekranda Gorunmesini istediğim şekli
Stok kodu : AC123
Markası : Intel
Mimari : Core 2 Duo
Hız : 2.8 Ghz
ASP ile XML Dosyadan Veri Çekme
2
●7.503
- 06-03-2009, 04:22:08sana basit bi şekilde örnek yapayım
<%
adr="http://www.site.com/xmldosyasi.xml"
set StrHTTP = Server.CreateObject("Microsoft.XMLHTTP")
StrHTTP.Open "GET" ,adr, false
StrHTTP.Send
kur = StrHTTP.Responsetext
Set StrHTTP = Nothing
kes = split(kur,"<stokkodu>")
kes2=split(kes(1),"</stokkodu>")
link=kes2(0)
response.write "staok Kodu:"& link &""
%> - 06-03-2009, 18:48:16Kimlik doğrulama veya yönetimden onay bekliyor.XMLDOM kullanarak tüm elementlere erişmen mümkün.
getElementsByTagName ile tag lere erişiyorsun.
childNodes ile o elementin altındaki diğer elementlere döngü ile erişiyorsun
getAttribute ile element için tanımlanmış özeliğe erişebiliyorusun.
Aşağıdaki gibi kullanabilrisin denedim çalışıyor.
<% Set XML=Server.CreateObject("Microsoft.XMLDOM") Set Urunler=Server.CreateObject("Microsoft.XMLDOM") XML.async=False XML.Load (Server.MapPath("dosya.xml")) If XML.parseError.errorCode = 0 Then Set Urunler=XML.getElementsByTagName("urun") For i=0 to (Urunler.Length-1) For j=0 To (Urunler(i).childNodes.Length-1) Select Case Urunler(i).childNodes(j).nodeName Case "marka" marka=Urunler(i).childNodes(j).text Case "stokkodu" stokkodu=Urunler(i).childNodes(j).text Case "ozellik" oz=Urunler(i).childNodes(j).getAttribute("tanimi") Select Case oz Case "Mimari" ozellik_mimari=Urunler(i).childNodes(j).text Case "Hız" ozellik_hiz=Urunler(i).childNodes(j).text End Select End Select Next Response.Write("<br>"&(i+1)&".Ürün ") Response.Write("<br> Stok Kodu : "&stokkodu& " <br> Marka : "&marka&"<br> Mimari : "&ozellik_mimari&"<br> Hız : "&ozellik_hiz) REsponse.Write("<br>*******************") Next Else Response.Write(objXML.parseError.errorCode) End If %>Çıktısı şu şekilde sen kendine göre düzenlersin
1.Ürün Stok Kodu : AC123 Marka : Intel Mimari : Core 2 Duo Hız : 2.8 Ghz ******************* 2.Ürün Stok Kodu : ASDFG Marka : AMD Mimari : AMD X Hız : 3.2 Ghz ******************* 3.Ürün Stok Kodu : TTTTT Marka : XXXXX Mimari : YYYYY Hız : 2.0 Ghz *******************
Xml dosyasınıda şu şekilde bi kaç kayıt daha ekleyip kullandım.
<?xml version="1.0" encoding="ISO-8859-9"?> <root> <urun> <stokkodu> AC123 </stokkodu> <marka> Intel </marka> <ozellik tanimi="Mimari"> Core 2 Duo </ozellik> <ozellik tanimi="Hız"> 2.8 Ghz </ozellik> </urun> <urun> <stokkodu> ASDFG </stokkodu> <marka> AMD </marka> <ozellik tanimi="Mimari"> AMD X </ozellik> <ozellik tanimi="Hız"> 3.2 Ghz </ozellik> </urun> <urun> <stokkodu> TTTTT </stokkodu> <marka> XXXXX </marka> <ozellik tanimi="Mimari"> YYYYY</ozellik> <ozellik tanimi="Hız"> 2.0 Ghz </ozellik> </urun> </root>