[Çözüldü] javascript ile xml dosyasında alt element okuma yardım istiyorum.

Başlatan darkbird, 19 Haziran 2019 - 21:51:47

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

darkbird

internette javascript ile xml alt element okuma araştırma yaptım denedim yeterli açık bir aratma yapmadığım için doğru örnekler bulmamış olabilirim. bana konu hakında doğru link atsanız veya örnek kod yazsanız iyi olur.

yazdığım xml dosyası bu:

<?xml version="1.0" encoding="UTF-8"?>

<projeler>
<toplamkactanesirket> 2 </toplamkactanesirket>
 
<sirketisimleri id="1">pro1
<kactaneresimvar id="1"> 3 </kactaneresimvar>
 
<sirketresimleri id="1"> birinci şirket

    <resim id="1">resim1.jpg</resim>
    <resim id="2">resim2.jpg</resim>
    <resim id="3">resim3.jpg</resim>

</sirketresimleri>

</sirketisimleri>
 
<sirketisimleri id="2"> pro2
  <kactaneresimvar id="2">5</kactaneresimvar>
 
<sirketresimleri id="2"> ikinci  şirket

    <resim id="1">aaresim1.jpg</resim>
    <resim id="2">aaresim2.jpg</resim>
      <resim id="3">aaresim3.jpg</resim>
<resim id="4">aaresim4.jpg</resim>
<resim id="5">aaresim5.jpg</resim>

</sirketresimleri>

</sirketisimleri>
</projeler>



javascripte okunan xml dosyasınından element okuma için:



listeelement = listesayfa.getElementsByTagName('sirketisimleri')[0].childNodes[0].nodeValue;



kullanıyorum 0 ile ilk değer. 1,2,3 sıradaki değerleri


sorum şu

(birincişirket) elementini okuyutup alt elemintindeki resim elementinide okutmak isiyorum(resim1.jpg) sonra (resim2.jpg)vb..


takıldığım konu ikinci şirket ve sonraki şirketler deki resimlere nasıl geçerim.

misal anlatmak istediğim kod yazımı:

ikinci_şirket[2].üçüncü_resim[3]

gibi bir numara karşılıkları ile sonuca ulaşabilmek, başka bir yöntemi kullanılmalı.


belgeler.org'ta "descendant" adında bir kod var, javascript ile nasıl kullanır javascripte boyle bir kod adı varmı.
linki:

http://www.belgeler.org/recs/xpath/#axes

ayrıca javascripte xml dosyasını okumak için bu kodları kullanıyorum.



var liste = new XMLHttpRequest();
    liste.open('GET', 'projeler.xml', false);
    liste.setRequestHeader('Content-Type', 'text/xml');
    liste.send();
   listesayfa = liste.responseXML.documentElement;



başka bir yontem gerekirmi diyerek yukleme kodunuda buraya yazdım.


Teşekkürler.


[ÇÖZÜMÜ]

alt elementlere ulaşmak hayali yerine DOMParser kullandım.

element içine ikincielement="yazı" oluşturdum

xmldosyasi

<sirketisimleri ikinciyazi="yazısı">
<ismi>projesi1</ismi>
<ismi>projesi1</ismi>
<ismi>projesi1</ismi>
<ismi>projesi1</ismi>
</sirketisimleri>



kod:


var xmlparser= new XMLHttpRequest();
      xmlparser.open('GET', 'xmldosyaadi.xml', false);
      xmlparser.setRequestHeader('Content-Type', 'text/xml');
      xmlparser.send();

var xmlparser = new DOMParser();

xmldosyasi = parser.parseFromString(xmlparser.responseText,"text/xml");

console.log(xmldosyasi.getElementsByTagName("sirketisimleri")[0].getAttribute("ikinciyazi"));



Empat

Çözümü paylaştığınız için teşekkürler.

Çözüldü işaretlediğiniz için kilitliyorum.

Başka bir sorunun yanıtını bulamazsanız ya da bir sorunla karşılaşırsanız, yeni bir konu açabilirsiniz.

İyi forumlar.
Everything for me is just Peace - Love - Coding. Also, as they say: I am a programmer, I have no life!