Piszę na przedszkolu, bo coś mi się wydaje, że albo ja jestem za głupi na ta zabawę, albo mam wyjatkowo paskudne dwa dni.

Za pomoca funckji DOM generuję sobie w php dokument XML. Ustawiam header na xml/application i wypluwam do przeglądarki.
Firefox poprawnie rozpoznaje dokument xml. Teraz to samo robię poprzez zapytanie "ajaxowe" i ten sam dokument odbieram jako xml. Poprzez DOM moge się teraz do niego dobrać i sparsować jak mi się podoba.
np.
http://img509.imageshack.us/my.php?image=79198840kh0.png
Taki dokument parsuję bez problemu - wyciąga wszystko co chcę.

http://img519.imageshack.us/my.php?image=84089561af6.png
Ten z kolei już nie. Nie mam pojęcia dlaczego. Nie zawiera żadnych niedozwolonych znaków i jest generowany tą samą funckją w php. Przegląda i poprawnie wyciąga tylko dane z pierwszego dziecka <root>, ale kolejne pomija.

Będę wdzięcznyu za pomoc.

Pozdrawiam.

I jeszcze funckje : )

Funkcje w JS
  1. //xml to mój dokument (ten z obrazka)
  2. function parseXML(xml, div)
  3. {
  4. tab='';
  5. tab=doParse(xml);
  6. byId(div).innerHTML=tab;
  7. }
  8.  
  9. function doParse(xml)
  10. {
  11. tab='';
  12. if(xml.hasChildNodes() && xml.firstChild.nodeType!==3) // gdy dziecko nie jest typem #text i ma dzieci (a ma na ewno)
  13. {
  14. nodes=xml.childNodes; //pobieramy dzieci
  15.  
  16. for(i=0; i<nodes.length; i++)
  17. {
  18. tab+=doParse(nodes[i]); //rekurencja
  19. }
  20. }
  21. else
  22. {
  23. if(xml.firstChild)
  24. {
  25. tab+=xml.firstChild.nodeValue + "<br />"; // dodaj wartosc dziecka, czyli #text
  26. }
  27. else{
  28. tab+='novalue' + '<br />'; // jak brak dziecka, to tak
  29. }
  30. }
  31. return tab;
  32. }