Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    347

    leggere xml di questo tipo

    salve,

    ho un file xml dove ogni record è salvato in questo modo :

    - <wiride>
    <codice_scheda>M-FER5XG01</codice_scheda>
    <codice_dewey>800 Letteratura</codice_dewey>
    - <dati_amministrativi>
    <inventario>216</inventario>
    <prezzo>250</prezzo>
    <disponibilita>S</disponibilita>
    <euro>0.129</euro>
    <inventario>347898565</inventario>
    <disponibilita>S</disponibilita>
    <inventario>346289989</inventario>
    <disponibilita>S</disponibilita>
    </dati_amministrativi>
    - <titolo>
    <proprio>VITA DEL VEN.MAESTRO GIOVANNI D'AVILA</proprio>
    <responsabilita>Di Granada Luigi</responsabilita>
    </titolo>
    - <autore>
    <cognome>Di Granada</cognome>
    <nome>Luigi</nome>
    <cod_autore>A-HEGC1QAU</cod_autore>
    <cod_autore>A-HF8A0F3C</cod_autore>
    <cod_autore>A-HF8A0N0U</cod_autore>
    <cod_autore>A-HF8A3D6E</cod_autore>
    </autore>
    - <pubblicazione>
    <luogo>Cinisello Balsamo, MI</luogo>
    <editore>Edizioni paoline</editore>
    <data_pubblicazione>1958</data_pubblicazione>
    <cod_editore>E-FG1IQY38</cod_editore>
    </pubblicazione>
    <paese_pubblicazione>it</paese_pubblicazione>
    <lingua>ita</lingua>
    <lingua_originale>ita</lingua_originale>
    <descrittori_tee>LETTERATURA</descrittori_tee>
    <soggetti>BIOGRAFIA</soggetti>
    </wiride>


    come posso fa in modo da leggerlo come un db??
    ho fatto alcuni script, ma riesco solo a leggere il primo campo...

    grazie in anticipo....

  2. #2
    è un po dispersivo... perchè questa scelta?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    347
    é purtroppo l'unico modo per esportare il database di una biblioteca....

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    121
    Ciao...dispersivo alquanto direi!!!

    Cmq...devi creare un vettore di figli e poi ciclare su di esso,prendendo ogni valore di ogni nodo.

    var root_node = xmldoc.getElementsByTagName("wiride").item(0);
    alert(root_node);
    if(root_node == null){
    cont = false;
    alert("root_node è null")
    break;
    }
    var vettore_figli = root_node.childNodes;
    for (var contatore = 0; contatore < vettore_figli.length; contatore++){
    prova = vettore_figli.item(contatore);

    ' ora devi prendere ogni nodo
    var strId = prova.getElement('codice_scheda');
    ...
    ...
    ...
    ...
    }

    Cmq mi sembra che tra le lezioni presenti su questo sito venga spiegato bene come ciclare in un file xml...
    "Ci sono 10 tipi di uomini al mondo...chi capisce il binario e chi no..."

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    347
    ...scusa, ma questo in javascript...

    ed in asp!?

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    347
    in pratica devo essere in grado di leggerlo tutto in modo da poterlo importare in un db access

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    121
    ...mmm...ok che è in javascript...ma una pagina asp può essere scritta in vbScript o in JS...

    se vuoi in vbScript devi fare la conversione...

    Qui ti spiega qualcosa, e anche nelle lezioni successive a quella!
    lezione xml


    Mi spiace di non essere di totale aiuto...ma io l'ho fatto con un nodo radice e gli attributi,quindi di preciso non so com'è....però se leggi per bene quel link si dovrebbe capire come ciclare tra più nodi...
    Ciao ciao
    "Ci sono 10 tipi di uomini al mondo...chi capisce il binario e chi no..."

  8. #8
    ti prendi l'array dei nodi che si chiamano "wiride" e cicli nei suoi nodi figlio (ChildNodes)...cmq è facile leggiti qualche guida a riguardo
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    347
    ..ancora qui...

    ho trovato qesta mezza soluzione:


    Dim objRS
    Set objRS = Server.CreateObject("ADODB.RecordSet")
    objRS.ActiveConnection = "Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;"
    objRS.Open(Server.MapPath("/materiali/scuole.xml"))
    -----------------------------------------------------------------------------------

    e mi connetto al file come un db.
    Poi faccio:
    -----------------------------------------------------------------------------------
    Response.Write("<tr>")
    For Each fld in objRS.Fields
    If fld.Name <> "$Text" Then
    Response.Write("<td>" & fld.Name & "</td>")
    End If
    Next
    Response.Write("</tr>")
    -----------------------------------------------------------------------------------

    in questo modo mi trovo i nomi dei campi.

    ottengo a quanto pare un recordset quindi facendo il response.write di objRS.Fields("codice_scheda") mi funziona, ma se voglio visualizzare un altro campo mi dice "tipo di dato non corrispondente"...

    come faccio a visualizzare tutti i campi?

    ..questa è una storia complicata...HELP

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    121
    "Ti connetti al file come un DB?".....in che senso?
    Te non hai un databse da gestire...devi gestire un file xml se ho ben capito...

    Devi trovare il nodo radice, nel tuo caso wiride...
    poi con i metodi messi a disposizione da xmlDom puoi scorrere attraverso i figli: firstchild, secondchild...
    Ora non ho proprio tempo di fare lo script...però se ti guardi per bene il link precedente trovi come saltare da un nodo all'altro, come usare i cursori e i cicli all'interno del file xml...
    L'unica differenza è che viene usato javascript e non vbscript...però se non hai obbligo di linguaggio, il jscript lo puoi usare per asp!

    guarda qui per come usare il ciclo!

    Ciao ciao
    "Ci sono 10 tipi di uomini al mondo...chi capisce il binario e chi no..."

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.