Witam
Mam problem z wyświetlaniem xml w htmlu
Plik xml wygląda tak:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE katalog [<!ELEMENT katalog (nagroda)><!ELEMENT nagroda (#PCDATA|dla)*><!ELEMENT dla (#PCDATA|lata)*><!ELEMENT lata (laureat+)><!ELEMENT laureat (autor,rok,pochodzenie)><!ELEMENT autor (#PCDATA)><!ELEMENT rok (#PCDATA)><!ELEMENT pochodzenie (#PCDATA)><!ATTLIST lata do CDATA #REQUIRED> ]><katalog><nagroda> Nagroda im. Astrid Lindgren<dla> Dla pisarzy<lata do="2010"><laureat><autor> Maurice Sendak </autor><rok> 2003 </rok><pochodzenie> Stany Zjednoczone </pochodzenie></laureat><laureat><autor> Christine autoNöstlinger </autor><rok> 2003 </rok><pochodzenie> Austria </pochodzenie></laureat></lata><lata do="2016"><laureat><autor> Shaun Tan </autor><rok> 2011 </rok><pochodzenie> Australia </pochodzenie></laureat><laureat><autor> Guus Kuijer </autor><rok> 2012 </rok><pochodzenie> Holandia </pochodzenie></laureat></lata></dla><dla> Dla ilustratorów <lata do="2010"><laureat><autor> Urojony ilustrator 1 </autor><rok> 2008 </rok><pochodzenie> Stany Zjednoczone </pochodzenie></laureat><laureat><autor> Urojony ilustrator 2 </autor><rok> 2009 </rok><pochodzenie> Stany Zjednoczone </pochodzenie></laureat></lata><lata do="2016"><laureat><autor> Urojony ilustrator 3 </autor><rok> 2015 </rok><pochodzenie> Stany Zjednoczone </pochodzenie></laureat><laureat><autor> Urojony ilustrator 4 </autor><rok> 2016 </rok><pochodzenie> Stany Zjednoczone </pochodzenie></laureat></lata></dla></nagroda></katalog>
A plik html tak
<!doctype html><html><head><meta charset="utf-8"><title>Dokument bez tytułu</title><script> function loadXMLDoc() { var xmlhttp = new XMLHttpRequest(); //definiujemy obiekt xmlhttp.onreadystatechange = function() { //sprawdzamy status if (this.readyState == 4 && this.status == 200) { //jeśli wszystko jest ok, odpalamy naszą metodę do danych exampleFunction(this); } }; xmlhttp.open("GET", "data.xml", true); //otwieramy połączenie xmlhttp.send(); //wysyłamy żądanie } function exampleFunction(xml) { var i, j, k; var xmlDoc = xml.responseXML; //odpowiedź z danymi var data=""; var nagroda = xmlDoc.getElementsByTagName("nagroda"); //elementy <CD> var x = xmlDoc.getElementsByTagName("dla"); //elementy <CD> var y, z; for (i = 0; i <x.length; i++) { data += "<h1>" + x[i].childNodes[0].nodeValue + "</h1>"; //data +="<h2> Kiedy: " + x[i].getAttribute['do'] + "</h2>"; y = x[i].getElementsByTagName("lata"); for(j = 0; j <y.length; j++) { data +="<p>Lata do " +y[j].getAttribute("do") + "</p>"; z = y[j].getElementsByTagName("laureat"); console.log(z.getElementsByTagName["autor"]); data += "<ul>"; for(k = 0; k <z.length; k++) { data += "<li>" + z[k].getElementsByTagName["autor"]+ "</li>"; } data += "</ul>"; } //data +="<h2> Kiedy: " + y.getAttribute['do'] + "</h2>"; //data += y.childNodes[0].nodeValue; /*data += "</h2>";<h3>Laureat: " data += x[i].getElementsByTagName("autor")[0].childNodes[0].nodeValue ; data += "</h3>";<h3>Rok otrzymania nagrody: " data += x[i].getElementsByTagName("rok")[0].childNodes[0].nodeValue ; data += "</h3>";<h3> Pochodzenie: " data += x[i].getElementsByTagName("pochodzenie")[0].childNodes[0].nodeValue ; data += "</h3>"; for(j = 0; j <y.length; j++) { data += "<li>" + y[j].childNodes[0].nodeValue+ "</li>"; } data += "</ul>";*/ } document.getElementById("xmlContent").innerHTML = data; } loadXMLDoc("data.xml");</script></head><body><section id = "xmlContent">Tutaj będzie XML</section></body></html>
Chciałbym wyświetlić wszystko z pliku xml tylko nie wiem gdzie jest błąd w kodzie w pliku html
Mógłby ktoś mi pomóc?
Pozdrawiam