Newsgroup: it.comp.lang.javascript
Titolo: [XML] Apertura file XML remoto

Ciao,
    ho un problema che riguarda la modalità con cui si richiama un file .xml
all'interno di una pagina html.
    In una pagina del sito che sto creando vengono riportati dei dati
contenuti in un file xml. Ho notato che se questo file risiede in una
cartella qualsiasi all'interno del mio dominio i dati vengono caricati
perfettamente mentre, se il file è contenuto in un altro dominio, non
funziona nulla.
    Suppongo che ci sia un modo diverso per linkare il caricamento del file
xml, ma non so quale sia. Qualcuno mi può dare una mano?
    Il codice che ho utilizzato per caricare il file è questo:
______________________________________________________________
[cut]
    <body bgcolor="#FFFFFF" onLoad="stampaDati()" style="text-align: left">
    <xml id="datiCaricati" src="
http://ALTRO_DOMINIO/stats/dati.xml
"></xml>
[cut]
______________________________________________________________
(se metto     <xml id="datiCaricati"
src="
http://MIO_DOMINIO/stats/dati.xml
"></xml>     funziona benissimo)
    Mentre la parte di codice che richiama i valori è questa:
*************************************************
[cut]
<div align="right" id="temperature"></div>
<script>
function stampaDati(){
var str = "";
var StringaXml = datiCaricati.XMLDocument;
str+="<table border='0' id='table1'> <tr><td align='right'>Parte superiore
Tel:</td>";
str+="<td> <b>"+ StringaXml.documentElement.childNodes(0).text +"</b></td>";
str+="<td>&deg;C</td></tr><tr><td align='right'>Parte centrale Tel:</td><td>
<b>";
str+=StringaXml.documentElement.childNodes(1).text +"</b></td>";
str+="<td>&deg;C</td></tr><tr><td align='right'>Parte inferiore
Tel:</td><td> <b>";
str+=StringaXml.documentElement.childNodes(2).text +"</b></td>";
str+="<td>&deg;C</td></tr><tr><td align='right'>Specchio primario:</td><td>
<b>";
str+=StringaXml.documentElement.childNodes(3).text +"</b></td>";
str+="<td>&deg;C</td></tr><tr><td align='right'>Aria interna Tel:</td><td>
<b>";
str+=StringaXml.documentElement.childNodes(4).text +"</b></td>";
str+="<td>&deg;C</td></tr><tr><td align='right'>Dissipatore
CCD:</td><td><b>";
str+=StringaXml.documentElement.childNodes(5).text +"</b></td>";
str+="<td>&deg;C</td></tr><tr><td align='right'>Dissipatore2
CCD:</td><td><b>";
str+=StringaXml.documentElement.childNodes(6).text +"</b></td>";
str+="<td>&deg;C</td></tr><tr><td align='right'>Temperatura
Esterna:</td><td><b>";
str+=StringaXml.documentElement.childNodes(7).text
+"</b></td><td>&deg;C</td></tr></table>";
temperature.innerHTML = str;
str="<table border='0' id='table2'> <tr><td align='right'>AR :</td>";
str+="<td>"+ StringaXml.documentElement.childNodes(8).text +"</td>";
str+="</tr><tr><td align='right'>DEC :</td><td>";
str+=StringaXml.documentElement.childNodes(9).text +"</td>";
str+="</tr><tr><td align='right'>Nome Oggetto :</td><td>";
str+=StringaXml.documentElement.childNodes(10).text +"</td>";
str+="</tr><tr><td align='right'>AR' :</td><td>";
str+=StringaXml.documentElement.childNodes(11).text +"</td>";
str+="</tr><tr><td align='right'>DEC' :</td><td>";
str+=StringaXml.documentElement.childNodes(12).text +"</td></tr></table>";
posizione.innerHTML = str;
[cut]
******************************************************
La pagina originale è questa:
http://www.astronomyproject.com/Ricerca/real_time/real_time.htm
Spero che qualcuno sappia aiutarmi, grazie comunque.
Dario

 xml, ma non so quale sia. Qualcuno mi puņ dare una mano?
No, purtroppo non puoi. E' una questione di sicurezza (SOP: Same Origin
Policy). Puoi farlo solo se l'utente permette questo genere di cose,
impostando la sicurezza del proprio browser in modo adeguato.
Altrimenti l'unica e' utilizzare un qualsiasi linguaggio lato server, che
non ha tali limitazioni, e "prendere" il file che si trova su un altro
server, copiandolo sul tuo o inviandone il contenuto al client.
-- 
ZER0://coder.gfxer.web-designer/
~ "Ma non e' che l'ho cancellate, le ho messe nel cestino..!"
(Linda)
on air ~ "(Aqua) Turn Back Time"

 server, copiandolo sul tuo o inviandone il contenuto al client.
Quel poco di programmazione web che conosco è purtroppo limitata all'html... 
Il metodo che mi suggerisci, se ho capito bene, è un programma che, 
risiedendo online in una cartella del sito, ogni tot secondi si copi il file 
dall'altro dominio e lo ponga all'interno del mio, in modo da poter aprire 
tranquillamente il file xml da una pagina interna al mio dominio stesso... 
giusto?
Come risultato in effetti per me sarebbe ottimo, anzi, perfetto! Peccato 
però non abbia idea di come si faccia... Esiste qualche riga precompilata da 
poter utilizzare? E' chiederti troppi di darmi un piccolo aiutino? Davvero, 
non saprei come fare...
Non credo sia complesso in effetti... In sostanza devo copiare il file 
"dati.xml" che sta qui 
http://www.astrofilipadova.it/stats/
 in questa 
cartella del mio dominio 
http://www.astronomyproject.com/Ricerca/real_time/
Non credo sia difficile, ma non so proprio da che parte partire.... :-(
Grazie mille comunque per l'aiuto, sei stato gentilissimo.
Ciao e grazie ancora,
Dario


 Grazie mille comunque per l'aiuto, sei stato gentilissimo.
Di niente, figurati.
-- 
ZER0://coder.gfxer.web-designer/
~ "Problemi" e' il nome che gli informatici danno a quelli che
comunemente verrebbero definiti "disastri"; altrimenti si chiamano
"features".
on air ~ "Utada Hikaru - Hikari - PlanitB Remix"

Per la precisione, dal servizio faq, questi sono i linguaggio supportati dal 
lato server su hoting Windows:
______________________________________________
Quali linguaggi sono supportati e si possono usare i database?
I servers di Aruba.it supportano oltre alle consuete pagine statiche (htm, 
html)
pagine asp (3.0) su IIS 6.0
php (estensione abilitata .php) versione 4.3.2 , safe_mode off, Dcom e COM 
disabilitati - non e' possibile quindi connettersi a db access da php usando 
adodb.connection-, GD lib e ImageMagick attive su hosting Linux
cgi script scritti in Perl (per i quali non serve specificare il path, é 
sufficiente nominare .pl i files scritti in tale linguaggio - l'estensione 
.cgi non e' abilitata, gli eseguibili *.exe non sono abilitati)
SSI tutte le direttive escluso exec (shtm, shtml)
wap comprese le bitmap
VBScript versione 5.6.7426
Supportato in modo nativo il database Access ® (.mdb) in formato 2000 o 
superiore.
Le pagine possono inoltre scrivere su file di formato testuale come ad 
esempio txt, dat, log, csv e simili, previa inserimento nelle apposite 
cartelle con permessi speciali, vedasi faq seguenti.

 chiedere il consenso del sito che li ospita.
Qui non c'č problema, č tutto in casa :-)


 Qui non c'è problema, è tutto in casa :-)
Meglio. :)
-- 
ZER0://coder.gfxer.web-designer/
~ Un computer e' fondamentalmente stupido.
Non fa cio' che vuoi che faccia, ma cio' che gli dici di fare.
Solo, e' uno stupido dannatamente veloce.


 ha scritto nel messaggio 
news:1lp2n9qa...@ID-171124.news.individual.net...


<xml id="datiCaricati" src="
http://MIO_DOMINIO/stats/dati.php
"></xml>
2  righe in Perl per un eventuale 
http://MIO_DOMINIO/stats/dati.pl
====================
use LWP::Simple;
print get("
http://www.astrofilipadova.it/stats/dati.xml
");
====================
Ricordarsi di aggiungere come prima riga il path verso interprete Perl
ed eventualmete l'output di un content-type per xml  :-)
'bye

 ed eventualmete l'output di un content-type per xml  :-)
Eccolo ^_^
Cmq anche l'encoding gia' che ci siamo.. si dice mai che si ripresenta un
problema come quello che ebbe Cristiano poco tempo fa.
Mi ricordo quando ho smanettato un po' in perl per conto proprio, lavoravo
ancora in quel di rimini.. Lo Scarta sicuramente se lo ricorda: era una
goduria scrivere in tre righe quello che, nella totalita' dei linguaggi web
attuali, dovevi fare richiamando due o tre istanze di classi diverse.. e
quella per gestire il file, e quella per gestire lo stream, e quella per..
A me la OOP piace "da mori' "(come direbbe una mia amica), ma ogni tanto
penso che tornare a programmare "alla vecchia maniera" faccia decisamente
bene. :)
P.S.
Dato che il server e' IIS6, e dipendentemente da quel che deve farci con
l'XML, vedro' se e' il caso di optare per una tecnologia nativa o meno..
altrimenti si ricicla il tuo perl. ;)
-- 
ZER0://coder.gfxer.web-designer/
~ Il computer e' una macchina progettata per velocizzare e automatizzare
gli errori.

 problema come quello che ebbe Cristiano poco tempo fa.
...e anche ieri! Praticamente in ogni progetto devo cambiare l'encoding
altrimenti segnala errori assurdi in javascript con il default fornito
(utf-8).
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

 (utf-8).
Ma non puoi impostarlo come valore di default nel webconfig, come s'era
detto?


 detto?
Sě, ma il web.config cambia per ogni applicazione...
dovrei impostarlo nel machine.config (credo si chiami cosě), ma preferisco
farlo manualmente quando serve perché non ho ancora ben testato eventuali
problematiche.
-- 
"e mai che mi sia venuto in mente
 di essere piů ubriaco di voi
 di essere molto piů ubriaco di voi"
									  F.D.A.

 [cut]