Newsgroup: it.comp.lang.javascript
Titolo: Ajax XML parsing

Ciao al gruppo,
sto utilizzando ajax per ottenere informazioni da un server.
L'informazione e' contenuta in una stringa XML. La sintassi utilizzata
e'
function setUpReqAsync(url, callback)
{
	if (window.XMLHttpRequest)
	{
		reqAsync = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		// the following may give problems with security policies
		reqAsync = new ActiveXObject("Microsoft.XMLHTTP");
	}
	reqAsync.open("GET", url, true);
	reqAsync.onreadystatechange = callback;
	reqAsync.send(null);
}
function buildStatusTableBody(htmlString)
{
	var records =
reqAsync.responseXML.getElementsByTagName("reportRecord");
        //.......
}
Firefox riesce a elaborare la stringa senza problemi, IE ha problemi
con stringhe contenenti caratteri "strani". La stringa viene ripulita
lato server dai caratteri (" ' \  & < >). Ho utilizzato lo script
debugger di Microsoft .net, ma non riesco a ottenere informazioni
utili.  Riporto qui di seguito la stringa "incriminata" (con la
speranza che i caratteri mantengano la codifica originale)
Spero possiate darmi suggerimenti
<?xml version="1.0" encoding="UTF-8"?>
<message>
	<statusTable>
		<tableHead>
			<header></header>
			<header></header>
			<header>Report name</header>
			<header>Client Id</header>
			<header>Scenario</header>
			<header>Start time</header>
			<header>Status</header>
		</tableHead>
		<tableBody>
			<reportRecord>
				<id>1176201471962</id>
				<name>Asset Chart</name>
				<isSessionReport>false</isSessionReport>
				<imageStatus>reportInProgress.gif</imageStatus>
				<client>`¬¦!%22£$€%25^&amp;*()_+=-][{}#%27;:@~/&gt;&lt;.,?</
client>
				<scenarioName>Scenario 0001</scenarioName>
				<time>Tue Apr 10, 2007 - 11:37:51</time>
				<reportStatus>in progress</reportStatus>
			</reportRecord>
		</tableBody>
	</statusTable>
</message>
TREMALNAIK

 client>
usare un cdata?
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 con stringhe contenenti caratteri "strani". La stringa viene ripulita
ho dimenticato di dire che sto forzando la codifica UTF-8 sulla
pagina:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
e che sebbene FF pare scegliere la codifica giusta, IE sembra fisso su
"Western European (ISO)", che e' quello che si vede dal menu View ->
Encoding
Anche forzando la scelta "Unicode (UTF-8)" (Auto select disattivato)
la pagina seguente viene caricata con la codifica ISO.
Secondo voi c'entra qualcosa?
TREMALNAIK

 usare un cdata?
non funzia (FF ok, IE ko). Magari ho sbagliato l'utilizzo del cdata.
Pasto per conferma:
<?xml version="1.0" encoding="UTF-8"?>
<message>
	<statusTable>
		<tableHead>
			<header></header>
			<header></header>
			<header>Report name</header>
			<header>Client Id</header>
			<header>Scenario</header>
			<header>Start time</header>
			<header>Status</header>
		</tableHead>
		<tableBody>
			<reportRecord>
				<id>1176203375625</id>
				<name><![CDATA[Asset Chart]]></name>
				<isSessionReport>false</isSessionReport>
				<imageStatus>reportCompleted.gif</imageStatus>
				<warning><![CDATA[You decided to delete Asset Chart, confirm?]]></
warning>
				<imageDelete>reportDelete.gif</imageDelete>
				<mode>display</mode>
				<client><![CDATA[`¬¦!%22£$?%25^&*()_+=-][{}#%27;:@~/><.,?]]></
client>
				<scenarioName><![CDATA[Scenario 0001]]></scenarioName>
				<time>Tue Apr 10, 2007 - 12:09:35</time>
				<reportStatus>complete</reportStatus>
