Ciao, cerchiamo di mettere un po' d'ordine.
Le due discussioni sono state unite, molto probabilmente, dopo la mia segnalazione perché mi sembrava lo stesso argomento, ma ora mi rendo conto che la prima tua discussione riguarda effettivamente solo xml mentre la seconda è più rivolta a JavaScript.
Ora, dal momento che stai postando qua e la su vari forum senza ottenere risposte, cerco di risponderti per ordine riguardo la lettura del tuo xml attraverso jQuery/Ajax. In questo caso segnalo nuovamente per far spostare la discussione sul relativo forum... poi vedrà il moderatore cosa sarà meglio fare.
1-Il file .htm che ho scritto viene visualizzato solo su Firefox...tutti gli altri browser lo ignorano completamente.
Ho notato tra i tuoi vari post, in giro per il web, che hai usato differenti tecniche per l'applicazione di AJAX.
Generalmente AJAX è una tecnica usata per comunicare tra client e server. Questo significa che quando fai girare il tuo script in locale per richiamare un file sempre in locale, in linea di massima potresti avere problemi.
Inoltre i vari browser usano dei metodi differenti per applicare la tecnica AJAX, per cui avrai presumibilmente diversi comportamenti da parte dei vari browser.
In qualunque caso ti consiglio l'uso di jQuery, che in linea di massima è cross-browser, tenendo presente che una versione non troppo aggiornata (come ho visto che hai usato in un altro post) può dare esattamente il problema che segnali (quantomeno su IE).
Ti consiglio di usare questa versione di jQuery: http://ajax.googleapis.com/ajax/libs.../jquery.min.js
Su IE, in locale, non dovresti avere più il problema, ma resta comunque su Chrome dove non è possibile risolverlo facilmente (non entro nei dettagli).
Ad ogni modo, ripeto, è un problema che può verificarsi generalmente in locale. Se pubblichi il tutto online (o usi un localhost) il problema non dovrebbe sussistere.
Per il momento tieni buono che in locale ti gira su FF e IE.
2- Nella colonna "ORA" mi piacerebbe riuscire a far comparire ore e minuti, ma non conosco la sintassi per far pescare i dati da due tag diversi e "concatenarli" l'uno all'altro in visualizzazione
Chiaramente puoi fare in svariati modi.
In sostanza, lo stesso identico procedimento che usi per prelevare il primo dato lo userai anche per gli altri dati.
A quel punto usi l'operatore + (concatenazione di stringhe) per concatenare i vari dati tra loro in modo da costruire la tua stringa da visualizzare.
Tieni presente che in JavaScript questo operatore è polimorfo, cioè lo stesso operatore è usato sia per la somma tra valori numerici, sia per la concatenazione di stringhe.
In genere JavaScript interpreta i diversi tipi di dato e utilizza l'operatore nel modo più consono.
E' chiaro che questi sono principi fondamentali della programmazione con tale linguaggio, quindi non mi dilungo troppo.
3- Qualcuno sa come si fa ad inserire altri simboli dopo un dato pescato da un tag?...ad esempio se il dato pescato dal campo ora è 10, e quello del campo minuti è 30...come si fa ad ottenere come risultato in visualizzazione 10:30 ?
Vedi il punto precedente.
vorrei che i minuti venissero rappresentati sempre da due cifre, anche se l'xml contiene i valori 30 "pe la mezz'ora" e 0 "per l'ora piena. Ho fatto vari tentativi ma proprio non riesco a capire come fare
Ho citato questa tua frase da un altro tuo post su un altro forum.
In questo caso puoi risolvere i svariati modi. Basta fare una ricerca del tipo "javascript pad zeros" per trovare molteplici soluzioni sul web.
Nel codice sotto, uso una soluzione con la funzione slice().
Riepilogando ti posto un codice completo e funzionante che ho scritto partendo dal tuo esempio.
In particolare, per la lettura del file xml ho usato il metodo get() di jQuery, che è una scorciatoia del metodo ajax().
codice:
<!DOCTYPE html>
<html>
<head>
<title>Orario delle Lezioni</title>
<meta charset="utf-8">
<style>
table, th, td {
border: 1px solid black;
border-collapse:collapse;
text-align:center;
}
th, td {
padding: 5px;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$.get('./Orario.xml', function(xml){
var $tab = $('#tabellaOrariLezioni');
$tab.append('<tr><th>ORA</th><th>MATERIA</th></tr>');
$('Lezioni',xml).each(function(){
var ora = ("0"+$(this).find('Hour').text()).slice(-2);
var min = ("0"+$(this).find('Minute').text()).slice(-2);
var mat = $(this).find('Materia').text();
$tab.append('<tr><td>'+ora+':'+min+'</td><td>'+mat+'</td>');
});
}, 'xml');
})
</script>
</head>
<body>
<h2>Orario delle lezioni</h2>
<table id="tabellaOrariLezioni"></table>
</body>
</html>
Il file xml da leggere, a cui fa riferimento lo script, è lo stesso presente nella tuo zip.
Giusto per chiarezza, lo riporto pari pari qui:
codice:
<Root>
<Lezioni><Day><![CDATA[05/02/2015]]></Day><Hour>10</Hour><Minute>0</Minute><Materia>Italiano</Materia></Lezioni>
<Lezioni><Day><![CDATA[05/02/2015]]></Day><Hour>11</Hour><Minute>30</Minute><Materia>Matematica</Materia></Lezioni>
<Lezioni><Day><![CDATA[05/02/2015]]></Day><Hour>14</Hour><Minute>0</Minute><Materia>Storia</Materia></Lezioni>
<Lezioni><Day><![CDATA[05/02/2015]]></Day><Hour>16</Hour><Minute>30</Minute><Materia>Geografia</Materia></Lezioni>
</Root>
Non sto qui a spiegarti lo script riga per riga (il post è già lungo abbastanza) ma, se hai bisogno di qualche chiarimento, chiedi pure.