Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924

    parsing di stringa HTML e accesso via DOM

    Ciao a tutti,

    sto provando a creare uno script che legga un file in cui è contenuto un documento HTML (oppure preferibilmente una stringa che contenga l'HTML) e provare ad accedere agli elementi tramite usuali metodi del DOM

    Lo script deve funzionare su Firefox 1.5

    Finora sono riuscito a leggere solo file/stringhe XML e XHTML. Io ho esplicitamente bisogno di leggere un file HTML (che a differenza dei primi due doctype può essere anche malformato)

    Questo è il codice che sto provando ad usare (su Firefox 1.5)

    codice:
    var dtd = "http://www.w3.org/TR/html4/loose.dtd";
    var doctype = "!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN'";
    
    var HTMLClassDoc = document.implementation.createDocumentType("", doctype, dtd);
    var HTMLDoc = document.implementation.createDocument("", "html", HTMLClassDoc);
    HTMLDoc.load("file.html");
    - Il codice è un riadattamento di quello presente nell'ultimo post di questa pagina: http://www.highdots.com/forums/javas...ed-571288.html

    - Il riferimento ai metodi createDocument e createDocumentType è reperibile qui: http://www.w3.org/TR/2000/REC-DOM-Le...createDocument


    Tuttavia lo script non funziona. Il contenuto del file che sto cercando di caricare (file.html) è il seguente

    codice:
    <html>
    <body>
    & n b s p ;
    </body>
    </html>
    Teoricamente potrei ovviare creando dinamicamente un iframe nel documento e iniettarvi il codice html, ma è una soluzione che preferirei evitare. (Men che meno fare il parsing della stringa con espressioni regolari)

    Ho provato ad usare anche l'oggetto DOMParser ma nulla.

    Che cosa ne pensate?? :master:
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    up?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    se mi spieghi come riesci a prendere una stringa e farne il parsing diretto via DOM allora sì
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it L'avatar di gizax
    Registrato dal
    Jan 2004
    residenza
    Rome
    Messaggi
    386
    allora se vuoi utilizzare AHAH non c'è bisogno di nessun parsing... includi dinamicamente il file/pezzo html che ti serve.

  6. #6
    in effetti è più semplice e veloce di qualunque parsing

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    forse non ho spiegato bene il problema:


    supponi di avere una stringa di questo tipo che rappresenta un file html che hai appena letto

    codice:
    html =  "<html><body>";
    html += "[img][/img]";
    html += "[img][/img]";
    html += "[img][/img]";
    html += "[img][/img]";
    html += "</body></html>";
    e vuoi sapere quante immagini ci sono in quel documento:
    Io voglio istanziare un oggetto, passargli la stringa e poi accedere via DOM con una notazione del tipo

    codice:
    oggettoPsuedoDocument.getElementsByTagName('img').length;
    per sapere ad esempio quante immagini ci sono. A me non interessa sapere come recuperare la stringa ma solamente accedere via dom.

    Ho già immaginato di poter usare un iframe e mettervi dentro il contenuto e anche di usare le regexp. Ma preferirei una soluzione diversa usando un oggetto simile a quello del primo post. Consiglio la lettura dei due link che ho postato


    Grazie a tutti

    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.