• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nie wczytuje xml do pliku html

0 głosów
748 wizyt
pytanie zadane 28 kwietnia 2017 w HTML i CSS przez wojtasso14 Początkujący (250 p.)

Witam
Mam takie pytanie otóż mam zadanie zrobić plik xml, który będzie się składał z takich węzłów:
http://www84.zippyshare.com/v/6o0Vvo0k/file.html
I czy wg kodu to będzie np. coś takiego?

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE Animals [ 
<!ELEMENT Animals (Sharks+, Whales, Dolphins)>
<!ELEMENT Whales (#PCDATA)>
<!ELEMENT Dolphins (#PCDATA)>
<!ELEMENT Sharks (White+, Blue)>
<!ELEMENT Blue (#PCDATA)>
<!ELEMENT White (Age, Food, Color)> 
<!ELEMENT Age (#PCDATA)> 
<!ELEMENT Food (#PCDATA)> 
<!ELEMENT Color (#PCDATA)> 
<!ATTLIST Sharks id CDATA "id01">
]>

<Animals>
<Sharks id="id01">
<White>
<Age>55</Age>
<Food>Fishes</Food>
<Color>White</Color>
</White>
<Blue>Blue</Blue>
</Sharks>
<Whales>Whales</Whales>
<Dolphins>Dolphins</Dolphins>
</Animals>

I drugie pytanie gdyż chciałbym wczytać ten plik xml do html ale nie wiem dlaczego go nie wczytuje
Plik xml nazywa się animals.xml i jest w jednym katalogu z plikiem html
A to kod pliku html

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Dokument bez tytułu</title> 
</head>
<body>
<script>
function loadXMLDoc() {
var xmlhttp = new XMLHttpRequest(); 
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
 exampleFunction(this);
}
};
xmlhttp.open("GET", "animals.xml", true); 
xmlhttp.send(); 
}
function exampleFunction(xml) {
var i, j;
var xmlDoc = xml.responseXML; 
var data="";
var x = xmlDoc.getElementsByTagName("Sharks"); 
var y;
for (i = 0; i <x.length; i++) {
data += "<h2>Color1 ";
data += x[i].getElementsByTagName("White")[0].childNodes[0].nodeValue ;
data +="</h2><h3>Color2 ";
 data += x[i].getElementsByTagName("Blue")[0].childNodes[0].nodeValue ;
 data += "</h3>";
y = x[i].getElementsByTagName("Whales")[0].getElementsByTagName("Whales");
data += "<p><strong>Animal</strong></p><ul>";
for(j = 0; j <y.length; j++) {
data += "<li>" + y[j].childNodes[0].nodeValue+ "</li>";
}
data += "</ul>";
}
document.getElementById("xmlContent").innerHTML = data;
}
loadXMLDoc();
</script> 

</body> 
</html> 

 

Firefox w konsoli nic nie pokazuje a chrome pokazał komunikat, że xml nie chce się załadować

index2.html:31 XMLHttpRequest cannot load file:///C:/Katalog/animals.xml. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.[/quote]


Proszę o pomoc
Pozdrawiam

1 odpowiedź

0 głosów
odpowiedź 28 kwietnia 2017 przez Comandeer Guru (607,960 p.)
Jak już wspominałem na innym forum, Ajax nie działa bez serwera. Musisz mieć serwer, inaczej nie wczytasz w taki sposób tego pliku.
komentarz 28 kwietnia 2017 przez wojtasso14 Początkujący (250 p.)
I mając serwer potem w jaki sposób wczytać ten plik?
komentarz 28 kwietnia 2017 przez Comandeer Guru (607,960 p.)
W dokładnie taki, w jaki robisz. Ten kod odpalony z serwera powinien Po Prostu Działać™
komentarz 29 kwietnia 2017 przez wojtasso14 Początkujący (250 p.)
To jakim cudem u mnie na uczelni gdzie nie ma serwera to działa od razu w taki sposób jak kod wyżej gdzie pliki są tylko razem w jednym katalogu na dysku?
komentarz 29 kwietnia 2017 przez Comandeer Guru (607,960 p.)
Zależy od przeglądarki. Niemniej większość blokuje.
komentarz 30 kwietnia 2017 przez wojtasso14 Początkujący (250 p.)
Już wysyła

Wystarczyło zaktualizować firefoxa

Dzięki za pomoc

Podobne pytania

0 głosów
0 odpowiedzi 445 wizyt
pytanie zadane 8 czerwca 2017 w JavaScript przez Damian Prymus Początkujący (380 p.)
0 głosów
1 odpowiedź 2,671 wizyt
pytanie zadane 8 sierpnia 2018 w JavaScript przez Jumpeq Początkujący (270 p.)
0 głosów
1 odpowiedź 1,117 wizyt
pytanie zadane 5 maja 2020 w HTML i CSS przez mm Użytkownik (890 p.)

93,691 zapytań

142,610 odpowiedzi

323,215 komentarzy

63,215 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...