Notizie: lo sai che puoi installare Firefox anche su dispositivi Apple iPhone e iPad? Provalo subito!

Autore Topic: gestione file XML con javascript  (Letto 3066 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Mamamau77

  • Post: 2
gestione file XML con javascript
« il: 08 Marzo 2010 12:50:38 »
Salve,ho difficolta' a far funzionare questa semplice ricerca in file XML. Con I.E. funziona correttamente, mentre con FireFox, nella consolle di errori, viene notificato il messaggio "Errore: allitems.childNodes is not a function
File sorgente: file:///C:/Users/malanchin/Desktop/prova/searchindex.js
Riga: 33".
Il codice js e' il seguente:

Codice: [Seleziona]
window.onload = loadIndex;

function loadIndex() { // load indexfile
// most current browsers support document.implementation
if (document.implementation && document.implementation.createDocument) {
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.load("index.xml");
}
// MSIE uses ActiveX
else if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.load("index.xml");
}
}


function searchIndex() { // search the index (duh!)
if (!xmlDoc) {
loadIndex();
}
// get the search term from a form field with id 'searchme'

var searchterm = document.getElementById("searchme").value.toUpperCase();
var allitems = xmlDoc.getElementsByTagName("item");
results = new Array;
if (searchterm.length < 3) {
alert("Enter at least three characters");
} else {
for (var i=0;i<allitems.length;i++) {
// see if the XML entry matches the search term,
// and (if so) store it in an array
      var titolo = allitems[i].childNodes(0).text.toUpperCase();
      var descrizione = allitems[i].childNodes(1).text;
      var url = allitems[i].childNodes(2).text;

if (titolo.indexOf(searchterm) >= 0) {
//Risultato.innerHTML = allitems[i].lastChild.nodeValue;
Risultato.innerHTML = descrizione;
}
}
}
}

Il file XML e':
<?xml version="1.0" encoding="utf-8"?>
<searchable_index>
<item>
    <titolo>Homepage</titolo>
    <descrizione>Homepage</descrizione>
    <url>Homepage.htm</url>
  </item>
<item>
<titolo>Chi siamo</titolo>
<descrizione>Chi siamo</descrizione>
<url>ChiSiamo.htm</url>
  </item>
</searchable_index>


Grazie per il supporto
« Ultima modifica: 08 Marzo 2010 13:09:01 da klades »

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: gestione file XML con javascript
« Risposta #1 il: 08 Marzo 2010 13:12:14 »
childNodes ritorna un array quindi devi usare
Codice: [Seleziona]
[0] non
Codice: [Seleziona]
(0)

Offline Mamamau77

  • Post: 2
Re: gestione file XML con javascript
« Risposta #2 il: 08 Marzo 2010 14:49:34 »
Grazie,
verissimo...
ma non funziona ancora! :(

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: gestione file XML con javascript
« Risposta #3 il: 08 Marzo 2010 18:28:13 »
A questo punto dovresti caricare da qualche parte tutti i file in modo che li possa esaminare nel complesso.
Così è impossibile vedere dov'è il problema (ad esempio xmlDoc è dichiarata come variabile globale? Se sì dove?).

0 Utenti e 1 Visitatore stanno visualizzando questo topic.