• 06-06-2010, 15:43:28
    #1
     <Test:a>x</Test:a>
     <Test:b>y</Test:b>
     <Test:b>z</Test:b>
    
    <entry>
     <id>Deneme1</id>
     <name>Deneme1</name>
    </entry>
    
    <entry>
     <id>Deneme2</id>
     <name>Deneme2</name>
    </entry>
    
    <entry>
     <id>Deneme3</id>
     <name>Deneme3</name>
    </entry>
    Yukarıdaki şekilde bir XML kaynağımız var. Normalde <entry> içindeki değerleri:
    Microsoft.XMLDOM ile Buradaki yöntemle okutabiliyoruz. Peki <Test:a> gibi bir etiket içerisindeki değerleri yine XMLDOM ile nasıl alabiliriz?
    (XMLHTTP ile aldırabiliriz ama XMLDOM ile yapmam lazım)
  • 07-06-2010, 02:05:00
    #2
    Yanıt yok sanırım..
  • 15-06-2010, 12:53:29
    #3
    Metod isimlerini bilmiyorum tahmini senaryo anlatacağım;

    öncelikle test tag'ını ele geçirin. muhtemelen xx = getElementByTagName("test") gibi bir metodu olsa gerek.

    xx değişkenine array biçiminde bütün test tagları ve parametrelerini tutan ayrı bir nesne yüklenecektir.

    mesela ilk test isimli tag'ın parametrelerini almak için, parametre = xx(0).getAttribute("a") koduyla ilk test'in a parametresindeki değere erişim sağlanmış olacaktır.

    burada sanırım test:a gibi bir kullanım hatalı olacaktır. test a = "değer" yapısını tercih edin.

    Dediğim gibi eğer çalışmazsa metod isimleri hatalıdır. Bunun için en garantili yol MSDN üzerinde xmldom bileşenini arattırın. Metod ve property kütüphanesinde gereken ayrıntıları bulabilirsiniz.
  • 15-06-2010, 16:33:08
    #4
    örnek kod ekliyorum,düzenlemesi sana kalmış artık
    <%
    CEKILECEK="http://api.hostip.info/?ip=212.156.4.4"
    
    function duz(a)
    a=replace(a,"hostip","",1,-1,1)
    duz=a
    end function
    Set rssOku = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
    rssOku.async = False
    
    rssOku.setProperty "ServerHTTPRequest", True
    rssOku.Load CEKILECEK
    
    If rssOku.parseError.errorCode <> 0 Then
         Response.Write "<b>Hata:</b> " & rssOku.parseError.reason &"<br>"
         Response.Write "<b>Satır:</b> " & rssOku.parseError.line &"<br>"  
         Response.Write "<b>Açıklama:</b> " & rssOku.parseError.srcText
    End If
    
    Set ObjeListesi1 = rssOku.getElementsByTagName("gml:name")
    Set ObjeListesi2 = rssOku.getElementsByTagName("countryName")
    Set ObjeListesi3 = rssOku.getElementsByTagName("countryAbbrev")
    Set ObjeListesi4 = rssOku.getElementsByTagName("gml:coordinates")
    
    
    For Each Obje In ObjeListesi1
    response.write duz(Obje.childNodes(0).Text)
    Next
    response.write "<br />"
    For Each Obje In ObjeListesi2
    response.write Obje.childNodes(0).Text
    Next
    response.write "<br />"
    For Each Obje In ObjeListesi3
    response.write Obje.childNodes(0).Text
    Next
    response.write "<br />"
    For Each Obje In ObjeListesi4
    response.write Obje.childNodes(0).Text
    Next
    %>