Home| Progetto| Web| Faq| Acronimi | ||||
Argomenti Documenti pubblicabili:1120
Scripts:1282 Documenti non pubblicabili:162 Categorie tematiche:68 .Net |_C# |_Visual basic.net |_Asp.net Active Server Pages C++ Cascade Style Sheet JavaScript Mysql Php Xml Java |_Java 2 Micro Edition |_Java server pages |_Java Servlet Oracle |_PLSQL PostgreSQL Unix
Xml...
Info:
Le cinque entità predefinite in XML
Oracle...
Script:
Conditional update
Unix...
Tip:
Rimuovere un file in Unix / Delete a file
PLSQL...
Script:
DYN SQL
Xml...
Tip:
Regola di sintassi di XHTML
Xml...
Faq:
What is SQL/XML
Shell scripting...
Script:
Script for archiving and compressing folder and file
La rabbia è creativa, la depressione è senza utilità
Dyson, Freeman J.
Php Funzione mail()
Charles Babbage(1791-1871) nel 1823 ottenne dal governo 100 Sterline per la costruzione del calcolatore Different Engine.
La rabbia è creativa, la depressione è senza utilità
Dyson, Freeman J.
|
Xml
Home >Xml > Iniziare con Xml
ObiettivoQuesto documento prende in esame alcune tecniche di iterazione tra codice javascript e documento Xml. La tecnologia utilizza l'oggetto ActiveX Microsoft.XMLDOM pertanto il codice riportato funziona su browser Microsoft Explorer (Testato con vers. 5 e superiori). Per visualizzare l'output dei processi descritti in questo tutorial caricare questo file, e occorre naturalmente abilitare Explorer all'esecuzione di Javascript. E' possibile scaricare in formato zip i file sorgenti utilizzati per questo tutorial.PrerequisitiPer questo tutorial è utile la conoscenza di Javascript e almeno delle nozioni di base sul linguaggio Xml.Documento XmlIl documento libri.xml composto dal nodo principale <libri> che contiene 4 figli, ovvero gli elementi inclusi nei tag libro.Il documento Xml deve essere naturalmente valido.
<?xml version="1.0" encoding="utf-8" ?>
<libri> <libro stato="Canada" prezzo="8" > <nome>William</nome> <cognome>Gibson</cognome> <titolo>Neuromancer</titolo> <anno>1984</anno> </libro> <libro stato="Stati Uniti" prezzo="7"> <nome>Bruce</nome> <cognome>Sterling</cognome> <titolo>The Hacker Crackdown: Law And Disorder on the Electronic Frontier </titolo> <anno>1992</anno> <note>A compelling piece of work</note> </libro> (... ...)</libri> Inoltre alcuni tag <libro> possegono degli attributi(stato, prezzo) e i valori relativi. Caricamento documento XmlPrima di tutto viene creato un oggetto XMLDOM ricorrendo appunto alla tecnologia ActiveX. Solo se questa tecnologia è disponibile al browser lo script procede al caricamento dei dati XML, altrimenti il controllo su window.ActiveXObject con un messaggio informa l'utente dell'impossibilità di procedere con lo script:
if (window.ActiveXObject){
... }else{ alert("Spiacente per questo tutorial occorre Microsoft Explorer"); return false; } } Si può ricorrere a due oggetti messi a disposizione dalla Microsoft XMLDOM oppure FreeThreadedXMLDOM. Per instazializzare questi oggetti: var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); var xmlDoc = new ActiveXObject("Microsoft.FreeThreadedXMLDOM"); Di fatto si comportano in maniera uguale (utilizzano gli stessi metodi) , la versione FreeThreaded offre una migliore performance grazie al suo algoritmo di parsing.
<script language="javascript" type="text/javascript">
<!-- function loadXML(xmlFile) { if (window.ActiveXObject){ var xmlDoc = new ActiveXObject("Microsoft.FreeThreadedXMLDOM"); xmlDoc.async="false"; xmlDoc.load(xmlFile); xmlObj=xmlDoc.documentElement; alert(xmlObj.xml); // Visualizzazione del file XML }else{ alert("Spiacente per questo tutorial occorre Explorer"); return false; } } loadXML('libri.xml'); //--> </script> La proprietà boleana async determina se consentire il download asincrono del file Xml. Di default è true indicando che il metodo load restituisce un controllo prima che il download sia terminato. Se impostato a true si può utilizzare la proprietà readyState per determinare quando il download è completato. In questo esempio async viene impostato false in modo che il documento venga completamente caricato prima che la funzione chiamante riacquisti controllo. Per verificare con i nostri occhi il successo del caricamento dei dati Xml si può utilizzare un'istruzione come: alert(xmlObj.xml); Ovvero utilizzare il metodo xml dell'oggetto Microsoft.FreeThreadedXMLDOM, che visualizza appunto il documento Xml nel suo intero. Mentre il metodo text permette di stampare i valori inclusi nei tag: alert(xmlObj.text); I nodi figli (childNodes)Il metodo childNodes permette di accedere ai nodi figli del documento Xml. L'attributo length determina il numero di figli di uno specificato nodo. Per ricavare il numero dei figli principali del documento Xml:xmlObj.childNodes.length Mentre per ricavare il numero dei figli di un sottofiglio occorre specificare tra parentesi il numero dell'elemento (naturalmente partendo da 0) xmlObj.childNodes(1).childNodes.length Per il quarto figlio che non possiede figli l'istruzione prevedibilmente restituisce 0: xmlObj.childNodes(3).childNodes.length ... e così via. Mentre per ricavare il numero dei figli del secondo figlio del terzo figlio principale (il numero dei figli del tag <commento>), occorre riprodurre la stessa gerarchia nell'istruzione: xmlObj.childNodes(2).childNodes(4).childNodes.length La proprietà hasChildNodes permette di rilevare se un elemento possiede figli: restituendo true per il secondo figlio (Bruce Stearling): xmlObj.childNodes(1).hasChildNodes) mentre false per il quarto figlio xmlObj.childNodes(3).hasChildNodes Per ricavare il nome del tag(<libro>) di un figlio si utilizza la proprietà tagName. Il nome del figlio 4(<commento>) del 2 figlio principale: xmlObj.childNodes(2).childNodes(4).tagName Il valore contenuto in un nodo e nei suoi attributiIndividuato un nodo con childNodes il metodo firstChild e la sua proprietà text permettono di ricavare appunto il valore contenuto.Per nome dell'autore autore del I nodo: xmlObj.childNodes(0).firstChild.text Mentre il cognome dell'autore del II Nodo xmlObj.childNodes(2).childNodes(1).firstChild.text Ogni elemento Xml ( <libro></libro> ) a secondo delle esigenze può contenere degli attributi (<libro prezzo="12">) e il metodo getAttribute() estrae il valore dell'attributo specificato: xmlObj.childNodes(0).getAttribute("prezzo") Scorrere e stampare i valoriA questo punto è possibile stampare il valore degli elementi di un documento Xml atrraverso un ciclo, modificando come segue la funzione di esempio loadXML()
function loadXML(xmlFile) {
if (window.ActiveXObject){ var xmlDoc = new ActiveXObject("Microsoft.FreeThreadedXMLDOM"); xmlDoc.async="false"; xmlDoc.load(xmlFile); xmlObj=xmlDoc.documentElement; for (i=0; i<xmlObj.childNodes.length;i++){ if (xmlObj.childNodes(i).hasChildNodes){ // Se ha figli document.write(xmlObj.childNodes(i).childNodes(0).text ) // Nome I autore document.write(xmlObj.childNodes(i).childNodes(1).text +" - ") // Cognome I autore }} }else{ alert("Spiacente per questo tutorial occorre Explorer"); return false; } } loadXML("libri.xml"); Lo script stampa a video: William Gibson - Bruce Sterling - Neal Stephenson - Da notare l'utilizzo del controllo chasChildNodes altrimenti l'ultimo figlio del documento Xml provocherebbe un errore("Necessario oggetto") non avendo i figli che il codice cercano di stampare. Utilizzando il metodo getElementsByTagName() è possibile scorrere il documento Xml e stampare con nodeValue i valori corrispondenti al tag specificato, sostituendo il ciclo appena inserito nella funzione di esempio loadXML() con il seguente blocco di codice.
elementi = xmlObj.getElementsByTagName("nome");
for (i = 0; i < elementi.length; i++) document.write(elementi[i].firstChild.nodeValue + "\r"); Lo script stampa a video: William Bruce Neal
Marco Magnani marcomagnani@fishscript.com
Warning: include(ads/text468x15.html): failed to open stream: No such file or directory in D:\inetpub\webs\fishscriptcom\documents\view_document.php on line 131 Warning: include(): Failed opening 'ads/text468x15.html' for inclusion (include_path='.;C:\php\pear') in D:\inetpub\webs\fishscriptcom\documents\view_document.php on line 131 Tutorial Iniziare con Xml Oggetti e metodi per la gestione dei documenti Xml con Javascript e ActiveX [Xml] Script Parsing file Xml Acquisizione e stampa dei dati di un file Xml [Xml] Lettura dei childNodes di un file xml Lettura da xml dei campi del primo elemento disposti in un array [Xml] Semplice esempio xslt/ xml Utilizzo di xslt [Xml] Le 4 fasi di caricamento e parsing di un documento Xml Attraverso un esempio vengono rpese in esame le fasi di caricamento e di validazione utilizzando l'oggetto ActiveXObjectMsxml2.DOMDocument [Xml] Importazione di file xml Stampa di tutti i campi(childNodes) del primo elemento [Xml] Importazione file xml (variante) Stampa di alcuni campi(childNodes) del primo elemento [Xml] Leggere i dati da file Esempio di lettura dati da formati Xml, Html, Txt [Xml] Stampa nodi figli e valori utilizzo metodo documentElement [Xml] Parsing file xml Stampa di tutti i campi(childNodes) del primo elemento [Xml] Interrogare xml attraverso Xsl formattazione e conteggio dei dati [Xml] Esempio Xsl e Xml File xls che estrae e formatta i dati di un file xml [Xml] Template XHTML 1.0 Modello file XHTML [Xml] XHTML 1.0 Strict template Un'altro template Xhtml pronto all'utilizzo con l'impostazione della pagina con <thead>,<tfoot>,<tbody> come raccomandato dal W3c [Xml] Entità e caratteri speciali Gestione dei caratteri speciali attraverso xsl [Xml] Strutture condizionali in xsl costrutti choose, when e otherwise [Xml]
Marco Magnani marcomagnani@fishscript.com
|
Cerca
Xml...
Info:
Le cinque entità predefinite in XML
Il web è un giovane media: infatti ha solo 10 anni di età.
Si pensi alla televisione o al cinema all'età di 10 anni. A quei tempi questi media erano primitivi, ancora alla ricerca della loro strada.
Venivano esplorati i limiti della nuova tecnologia, ma grandi progressi dovevano ancora essere raggiunti.
Oggi, i professionisti del web si trovano nella stessa fase. Sono pionieri che stanno ancora esplorando i limiti del nuovo media. Senza dubbio, i nostri nipoti, quando vedranno quello che abbiamo fatto pensaranno a qualcosa di elementare.
C'è ancora molto da scopire su quello che il Web può fare e suo come può essere utilizzato.
Jason Foss
Il web è un giovane media: infatti ha solo 10 anni di età.
Si pensi alla televisione o al cinema all'età di 10 anni. A quei tempi questi media erano primitivi, ancora alla ricerca della loro strada.
Venivano esplorati i limiti della nuova tecnologia, ma grandi progressi dovevano ancora essere raggiunti.
Oggi, i professionisti del web si trovano nella stessa fase. Sono pionieri che stanno ancora esplorando i limiti del nuovo media. Senza dubbio, i nostri nipoti, quando vedranno quello che abbiamo fatto pensaranno a qualcosa di elementare.
C'è ancora molto da scopire su quello che il Web può fare e suo come può essere utilizzato.
Jason Foss
Xml...
Info:
Le cinque entità predefinite in XML
Xml...
Definizioni:
XSLT
Oracle...
Definizioni:
SCN
Shell scripting...
Script:
Script for archiving and compressing folder and file
fishScript.Com is accessible by Mobile access technology
as mobile phones, Palm and Pocket PC .
Nicoleta e Marco Magnani tutorial, examples, courses, esempi, corsi, esercizi, appunti vari Dottoressa Nicoleta Dragu Formatrice Docente Insegnante Mediatrice Culturale Dott. Marco Magnani Universita La Sapienza Roma Master Computer Science Hunter College New York , Data Base Administrator DBA oracle System architect |