Dom Html

martedì 07 febbraio 2006 - 22.34

underbody Profilo | Newbie

ciao,
c'è qualcuno che sa dove posso trovare delle informazioni, tutorial, guide... ecc... su Dom?
a me interessa principalmente la possibilità di modificare una pagina web (in pratica manipolare l'html).
devo inserire in una pagina web un link in una certa posizione.
C'è qualcuno che mi può aiutare?
Grazie,
UnderBody.

Brainkiller Profilo | Guru

>ciao,
>c'è qualcuno che sa dove posso trovare delle informazioni, tutorial,
>guide... ecc... su Dom?
>a me interessa principalmente la possibilità di modificare una
> pagina web (in pratica manipolare l'html).
>C'è qualcuno che mi può aiutare?

Ciao,
ho fatto una cosa di questo tipo recentemente. Incuriosito mi sono messo a lavorare per l'appunto con il DOM (XmlDocument) e ho caricato dentro il DOM diverse pagine Web. Ho scoperto con sorpresa che il 99% delle pagine HTML non sono WellFormed ossia i Tag aperti e chiusi non corrispondono. Di fatto la pagina diventa illeggibile ed è impossibile caricarla nel DOM a meno di una correzione dei tag (Aperti/chiusi).

In ogni caso se la pagina che devi modificare è scritta da te ed è well-formed puoi verificare innazitutto sull'SDK dove ci sono anche degli esempietti carini sul DOM, oppure su un sito classico che è :
http://www.w3schools.com

Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

underbody Profilo | Newbie

ciao,
grazie per avermi risposto.
ho guardato il sito che mi hai suggerito e devo dire che è pieno di informazioni, però mi servirebbero degli esempi in C# visto che non ho molta esperienza a malipolare le pagine html. Sai per caso dove posso trovarli?
grazie.
ciao.
UnderBody

Brainkiller Profilo | Guru

>ciao,
>grazie per avermi risposto.
>ho guardato il sito che mi hai suggerito e devo dire che è pieno
>di informazioni, però mi servirebbero degli esempi in C# visto
>che non ho molta esperienza a malipolare le pagine html. Sai
> per caso dove posso trovarli?

Non saprei dove localizzarli esempi di questo tipo. Il processo è abbastanza semplice è necessario leggere il file HTML in una variabile stringa. Poi istanziare l'oggetto XMLDocument e chiamare il metodo Load.

Esempio:

XmlDocument dom=new XmlDocument();
dom.Load(<contenuto_file_html>);

dove <contenuto_file_html> è la stringa che contiene l'HTML.

Ti consiglio di fare delle prove subito con questo esempio su delle pagine HTML che hai sotto mano perchè come già ti ho anticipato, difficilmente saranno well-formed e quindi non riuscirai nel tuo intento.

Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

underbody Profilo | Newbie

ciao,
in pratica mi sta consigliando di trattare i file Html come dei file XML?
ciao
UnderBody

Brainkiller Profilo | Guru

>ciao,
>in pratica mi sta consigliando di trattare i file Html come dei
> file XML?

Non è un consiglio, se vuoi lavorare e manipolare un file HTML questa è la strada più flessibile. Sei tu che nel primo post parlavi di DOM e HTML. Un file HTML well-formed è quasi come un documento XML con tag aperti e chiusi a più livelli. Solo che come ti dicevo se mancano dei tag di chiusura o mancano tag di apertura o ci sono problemi non riuscirai mai a caricare un file HTML nel DOM.
Se vuoi spiegare che modifiche devi fare a un documento HTML, magari possiamo risolvere diversamente.

ciao


David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

underbody Profilo | Newbie

ciao,
sto scrivendo un programma in C# che deve modificare una pagina web, devo inserire un lik in una certa posizione all'interno della pagina.
ciao UnderBody

Brainkiller Profilo | Guru

>ciao,
>sto scrivendo un programma in C# che deve modificare una pagina
>web, devo inserire un lik in una certa posizione all'interno
> della pagina.

Ok,
ma dove è posizionato la parte in cui dovrai inserirlo nel senso che, se all'interno della pagina c'è un qualcosa del tipo:

<span id="Link">http://www.link.com</span>

capisci che è molto facile rilevare la posizione e rimpiazzare il link con un'altro.
Diverso è il discorso se cambia tutte le volte la parte in cui devi sostituire.

Come funziona la cosa ?
ciao


David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

underbody Profilo | Newbie

ciao,
la cosa è un po' + complessa, diciamo che funziona così: in realtà devo inserire un link in una pagina html in una qualsiasi posizione e non devo sostituire un particolare link. un modulo del programma (che non ho scritto io) si occupa di fare le seguenti operazioni:
1. si seleziona una parte di una pagina web, che può essere una porzione di testo, un'immagine ecc...
2. si memorizza la posizione dell'oggetto selezionato dentro la pagina web in un DataBase
3. a questo punto si modifica la pagina web inserendo il link, quindi all'interno della pagina web modificata compare un'icona e un link.
Forse dovrei usare IhtmlDocument, per fare una cosa del genere...
ciao e Grazie.
UnderBody

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5