Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 22027

Wyświetlanie xml w html

$
0
0

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


Viewing all articles
Browse latest Browse all 22027