Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [xml][jquery], Procesowanie danych z pobranego xml'a
rulespl
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 29.03.2009

Ostrzeżenie: (0%)
-----


Witam
Mam problem z obsługą danych z pobranego xml'a
Odczytywana jest tylko pierwsza wartość z pliku
oto kod:
  1. $.ajax({
  2. type: "POST",
  3. url: "rysuj.xml",
  4. dataType: "xml",
  5. success: function(xml) {
  6. $(xml).find('pozycja',xml).each(function(i){
  7. var id = $(this).attr('id')
  8. var punkt = $(this).find('kurs').text();
  9.  
  10. $('<li></li>').html(punkt+ ' (' + id + ')').appendTo('#punkt ol');
  11.  
  12. }); //close each(
  13. }
  14.  
  15. }); //close $.ajax(

i pobierany plik
Kod
   <wykres>
  
   <pozycja id="1">
   <kurs>12</kurs>
   </pozycja>
  
   <pozycja id="2">
   <kurs>34</kurs>
   </pozycja>
  
   <pozycja id="3">
   <kurs>76</kurs>
   </pozycja>
   </wykres>


w zmiennej punkt tak jakby jest wrzucana tylko pierwsza wartość

Pomocy!!! :]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rulespl
post
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 29.03.2009

Ostrzeżenie: (0%)
-----


Sorki, mój błąd, kod przedstawiony wcześniej działa, ma problem jak dodaje funkcje do rysowania wykresu w svg. Korzystam z biblioteki raphael.js. Sprawdzałem kod bez użycia Ajax i działa. Problem pojawia sie gdy dane do wykresu pobieram z XML'a dynamicznie.
oto funkcja:
Kod
function rysuj(punkt) {
        
         var path = paper.path({stroke: "green", "stroke-width":2}).relatively().moveTo(55, 230).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt);
            return path;            
         }


Problem jest jak korzystam z niej wewnatrz funckji each
Kod
success: function(xml) {
                         var paper = Raphael("wstaw", 800, 600);
                        paper.drawGrid(55, 20, 500, 210, 10, 10, "#333");
                     $(xml).find('pozycja',xml).each(function(i){
        
                        

                        var id = $(this).attr('id')
                        var punkt = $(this).find('kurs').text();
                        
                        
                        $('<li></li>').html(punkt+ ' (' + id + ')').appendTo('#punkt ol');
                        //nie dziala (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !!
                        mmm = rysuj(punkt);
                        wyjscie = wyjscie+ mmm;
            
                     })


Rysuje tylko siatke (paper.drawGrid) i podaje tylko pierwsza wartosc z xml w <ol>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 04:23