Buongiorno a tutti,
Dopo una lunga ricerca sono riuscito a capire come importare alcuni dati xml in una tabella visualizzata in un foglio html.
Il mio problema è che, essendo il file xml generato da un swf perche letto poi da un filmato in flash, presenta una formattazione del tipo
e alla lettura della stringa "image" l'immagine rispettiva non viene visualizzata e nella stringa "text" il testo appare così come scritto in codice e non fromattato con i colori dimensioni e stii attribuiti.codice:<item> <image><![CDATA[images/1.jpg]]></image> <text><![CDATA[<P ALIGN="LEFT"><FONT FACE="Arial" SIZE="12" COLOR="#FF9933" LETTERSPACING="0" KERNING="0">testo formattato con differenti stili</FONT>]></text> </item>
Qualcuno sa dirmi come risolvere tale mio problema?
Tanti dicono che è sufficiente CDATA ma a me non pare...
che sbagli qualcosa nel codice html?
per dare un occhiata eccolo:
Ringrazio in anticipo!codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>TABLE e XML con DOM</title> <script language="javascript" type="text/javascript"> // Funzione per il caricamento del documento XML e passaggio alla funzione per la gestione dei risultati ottenuti function loadXML(url, handler) { /* * url = posizione del file XML da caricare * handler = nome della funzione da richiamare a caricamento documento XML eseguito */ // Determino se l'implementazione DOM Level 2 e' supportata if ( document.implementation && document.implementation.createDocument ) { // Creo il nuovo oggetto XML var xml = document.implementation.createDocument("", "", null); // Imposto l'evento onload del documento xml.onload = function() { handler(xml); } // Carico il file XML dall'URL passato alla funzione xml.load(url); } else if ( window.ActiveXObject ) { // Caso contrario, ricorro all'API proprietaria Microsoft per Browser IE // Creo il nuovo oggetto XML var xml = new ActiveXObject("Microsoft.XMLDOM"); // Imposto l'evento onload del documento xml.onreadystatechange = function() { if ( xml.readyState == 4 ) { handler(xml); } } // Carico il file XML dall'URL passatto alla funzione xml.load(url); } } // Funzione per la popolazione della tabella function popolaTabella(xml) { /** * xml = documento XML */ // Recupero la Tabella HTML var table = document.getElementById("t1"); // Recupero tutti gli elementi "item" definiti all'interno del documento XML var utenti = xml.getElementsByTagName("item"); // Ciclo attraverso tutti gli elementi e popolazione della tabella HTML for (var i = 0; i < utenti.length; i++) { // Recupero ogni singolo elemento "item" del documento XML var e = utenti[i]; // Recupero i vari valori per ogni elemento "item" var image = e.getElementsByTagName("image")[0].firstChild.data; var text = e.getElementsByTagName("text")[0].firstChild.data; // Creo ogni singolo riga della tabella HTML var row = table.insertRow(i + 1); // + 1 = Non considero la testata della tabella row.insertCell(0).appendChild(document.createTextNode(image)); row.insertCell(1).appendChild(document.createTextNode(text)); } } </script> </head> <body> <body onload="javascript:loadXML('services.xml', popolaTabella);"> <table id="t1" border="1" width="50%"> <tr> <th width="80%">image</th> <th width="20%">text</th> </tr> </table> </body> </html>![]()

Rispondi quotando