zagnieżdżanie xml w kodzie html, proszę o pomoc

mina
2013-11-02 20:48
mina
0

cześć, jestem absolutnie zielona jeśli chodzi o techniki www i w ogóle cokolwiek, co ma związek z programowaniem.
zaczęłam robić tutorial nt. xml-a i okazuje się, że nie potrafię nawet skorzystać ze zrobionego już przykładu!
Tzn. wzięłam przykład ze strony http://w3schools.com/xml/xml_applications.asp, konkretnie: http://w3schools.com/xml/tryit.asp?filename=tryxml_app, gdzie wyświetlane są w tabeli elementy z pliku xml: http://w3schools.com/xml/cd_catalog.xml
chciałam przykład przerobić tak, żeby pasował do mojego pliku xml i z wprowadzonymi zmianami kod nie działa.
Czy mógłby ktoś (będę bardzo wdzięczna) rzucić okiem i powiedzieć, co zrobiłam źle? Bo ja nie mam pomysłu.

Oto kod:

<!DOCTYPE html>
<html>
<head>
<script>
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.open("GET","struktura.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 

x=xmlDoc.getElementsByTagName("film");

function displayfilmInfo(i)
{
title=(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
director=(x[i].getElementsByTagName("director")[0].childNodes[0].nodeValue);
release_date=(x[i].getElementsByTagName("release_date")[0].childNodes[0].nodeValue);
country=(x[i].getElementsByTagName("country")[0].childNodes[0].nodeValue);
runtime=(x[i].getElementsByTagName("runtime")[0].childNodes[0].nodeValue);
txt="title "+title+"<br>director: "+director+"<br>releae_date: "release_date"<br>country: "+country+"<br>runtime: "+runtime  ;
document.getElementById("showfilm").innerHTML=txt;
}
</script>
</head>

<body>
<div id='showfilm'>Kliknij w tytul filmu, by wyswietlic wiecej informacji na jego temat</div><br>
<script>
document.write("<table border='1'>");
for (var i=0;i<x.length;i++)
  { 
  document.write("<tr onclick='displayfilmInfo(" + i + ")'>");
  document.write("<td>");
  document.write(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write(x[i].getElementsByTagName("director")[0].childNodes[0].nodeValue);
  document.write("</td></tr>");
  }
document.write("</table>");
</script>

</body>
</html>

A oto treść mojego pliku xml, zamieszczonego w tym samym folderze co plik z html:

<?xml version="1.0" encoding="ISO-8859-2"?>
<catalog>
<film>
<title> Skazani na Shawshank </title>
<director> Frank Darabont </director>
<release_date>1994</release_date>
<country> USA </country>
<runtime>142 min</runtime>
</film>

<film>
<title>Ojciec Chrzestny</title>
<director>Francis Ford Coppola</director>
<release_date>1972</release_date>
<country>USA</country>
<runtime>175 min</runtime>
</film>

<film>
<title>Pulp Fiction</title>
<director>Quentin Tarantino</director>
<release_date>1994</release_date>
<country>USA</country>
<runtime>154 min</runtime>
</film>

<film>
<title>Incepcja </title>
<director>Christopher Nolan</director>
<release_date>2010</release_date>
<country>USA</country>
<runtime>148 min</runtime>
</film>

<film>
<title>Milczenie owiec </title>
<director>Jonathan Demme</director>
<release_date>1991</release_date>
<country>USA</country>
<runtime>118 min</runtime>
</film>

<film>
<title>Siedem </title>
<director> David Fincher</director>
<release_date>1995</release_date>
<country>USA</country>
<runtime>127 min</runtime>
</film>

</catalog>

Bardzo proszę o pomoc!

dodanie znaczników <code class="html"> oraz <code class="xml"> - fp
usunięcie zbędnego załącznika - fp

edytowany 2x, ostatnio: furious programming, 2016-12-13 18:26
Przypominam o wstawianiu kodu w znaczniki kolorujące składnię; - furious programming 2013-11-02 21:54

Pozostało 580 znaków

mina
2013-11-02 21:16
mina
0

hm, pierwszy raz korzystam z forum, więc proszę wybaczyć, że tak to wygląda ... nie pokolorowałam składni i dodałam zupełnie przez pomyłkę załącznik, który proszę zignorować :)

Pozostało 580 znaków

2013-11-03 08:59

Rejestracja: 7 lat temu

Ostatnio: 4 lata temu

txt="title "+title+"
director: "+director+"
releae_date: "release_date"
country: "+country+"
runtime: "+runtime ;

Tu jest błąd. Gdzie plusiki?

Pozostało 580 znaków

mina
2013-11-03 12:49
mina
0

Dziękuję bardzo! Zawiniło moje niedbalstwo. Teraz rzeczywiście wszystko się ładnie wyświetla!

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0