Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][XML] Zawartość tagu
Maxik
post
Post #1





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


Protype pobieram plik XML który wygląda mniej więcej tak:
  1. <?xml version="1.0" encoding="iso-8859-2"?>
  2. <win>0</win>
  3. <error></error>
  4. <board>plansza</board>

przez JS próbuję dostać się do zawartości tagu board, ale mi się to nie udaje:
Kod
xml = obj.responseXML;
$('plansza').innerHTML = xml.getElementsByTagName('board');

dostaję "[object NodeList]"

Proszę o pomoc.


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
hiszpanespaniol
post
Post #2





Grupa: Zarejestrowani
Postów: 213
Pomógł: 39
Dołączył: 7.04.2008
Skąd: 3city

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


używając getElementsByTagName tworzysz sobie tablicę elementów o tagu <board> (bez względu na innerHTML każdego z nich). Musisz tą tablicę przepuścić przez jakąś pętlę i dla każdego jej elementu wyciągasz wewnątrz pętli zawartość konkretnego elementu (innerHTML).


--------------------
Go to the top of the page
+Quote Post
Maxik
post
Post #3





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


Mam jeden element <board>, użyłem więc:
Kod
board = xml.getElementsByTagName('board');
$('plansza').innerHTML = board[0].innerHTML;

ale to nie działa, to też nie działa:
Kod
board = xml.getElementById('board').innerHTML;
$('plansza').innerHTML = board;

ani to:
Kod
board = xml.getElementById('board').nodeValue;
$('plansza').innerHTML = board;


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
hiszpanespaniol
post
Post #4





Grupa: Zarejestrowani
Postów: 213
Pomógł: 39
Dołączył: 7.04.2008
Skąd: 3city

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


może (piszę z głowy) coś w tym stylu pomoże:
  1. $('plansza').innerHTML = xml.getElementsByTagName('board')[0].nodeValue;

lub
  1. $('plansza').innerHTML = xml.getElementsByTagName('board')[0].firstChild.nodeValue;
  2. // bo jeśli dobrze pamiętam DOM, to czysty tekst jest pierwszym dzieckiem elementu

Jeżeli to nie działa, to może błędnie pobierasz xml do javascript, ale najpewniej błędnie próbujemy dostać się do elementu (czytaj: zapoznaj się dokładniej z DOM'em i pobieraniem z xml'a)

Ten post edytował hiszpanespaniol 29.03.2009, 22:48:04


--------------------
Go to the top of the page
+Quote Post
skowron-line
post
Post #5





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


a można by wujka google zapytać
http://www.w3schools.com/Xml/xml_parser.asp


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Maxik
post
Post #6





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


@skowron-line: Nie pomogłeś. responseXML zwraca już sparsowany dokument XML.

@hiszpanespaniol: Tak też próbowałem, zrezygnuję z XMLa na rzecz stringa rozdzielonego "|" i metody split


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 06:35