Avatar billede neeo Nybegynder
01. september 2006 - 10:30 Der er 17 kommentarer og
1 løsning

læs fra html fil ?

Hej.


Jeg har fået til opgave at læse nogen ting udfra en html fil og skrive dem i en asp fil..


dvs. min asp fil skal læse dele af indholdet af min html fil og visse det som asp ? kan dette lad sig gøre ?  og hvordan ?...

alle forslag modtages :)
Avatar billede jokkejensen Novice
01. september 2006 - 10:36 #1
skal du lede efter noget i den ?

Ligger den lokalt kan du vel bare behandle den som en normalt tekst fil..
http://www.devasp.com/samples/readfromfile.asp
http://www.devasp.com/samples/writetofile.asp
Avatar billede neeo Nybegynder
01. september 2006 - 10:42 #2
hvordan definere at jeg kun vil visse bestemte dele fra html filen ?
Avatar billede neeo Nybegynder
01. september 2006 - 10:51 #3
skal jeg smide noget html op ?
Avatar billede fennec Nybegynder
01. september 2006 - 10:54 #4
FSO læser hver linje enkeltvis. Det er så op til dig at tjekke om den nuværende linje skal bruges eller ej.

Men prøv at smide et eks på en HTML fil du vil læse, og hvilken del der skal ud.
Avatar billede neeo Nybegynder
01. september 2006 - 11:14 #5
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<TABLE class=nwa802_11GuestPrintTable cellSpacing=2 cellPadding=2 align=center
border=0>
  <THEAD>
  <TR>
    <TD class=sds>#</TD>
    <TD class=sdss>test</TD>
    <TD class=sdss>test223</TD></TR></THEAD>
  <TBODY>
  <TR>
    <TD class=apsomdo>1</TD>
    <TD class=stCellBody><BIG><B>8795633321</B></BIG></TD>
    <TD class=stCellBody><BIG><B>789564643</B></BIG></TD></TR>
  <TR>
    <TR>
    <TD class=apsomdo>1</TD>
    <TD class=stCellBody><BIG><B>8795234321</B></BIG></TD>
    <TD class=stCellBody><BIG><B>7812364643</B></BIG></TD></TR>
  <TR>
    <TR>
    <TD class=apsomdo>1</TD>
    <TD class=stCellBody><BIG><B>879564321</B></BIG></TD>
    <TD class=stCellBody><BIG><B>7823564643</B></BIG></TD></TR>
  <TR>
    <TR>
    <TD class=apsomdo>1</TD>
    <TD class=stCellBody><BIG><B>879562321</B></BIG></TD>
    <TD class=stCellBody><BIG><B>789565443</B></BIG></TD></TR>
  <TR>
    <TR>
    <TD class=apsomdo>1</TD>
    <TD class=stCellBody><BIG><B>879561221</B></BIG></TD>
    <TD class=stCellBody><BIG><B>7895612343</B></BIG></TD></TR>
  <TR>
    <TR>
    <TD class=apsomdo>1</TD>
    <TD class=stCellBody><BIG><B>879564541</B></BIG></TD>
    <TD class=stCellBody><BIG><B>7895646343</B></BIG></TD></TR>
  <TR>
Avatar billede neeo Nybegynder
01. september 2006 - 11:16 #6
jeg skal smide alle de her op i 2 variabler...
var1 =    <TD class=stCellBody><BIG><B>8795633321</B></BIG></TD>
var2 =  <TD class=stCellBody><BIG><B>789564643</B></BIG></TD></TR>

men min html forsætter med en masse andet som jeg ikke skal bruge !.....
Avatar billede neeo Nybegynder
01. september 2006 - 11:16 #7
det er de her nummer der skal smides i variabler ...
Avatar billede neeo Nybegynder
01. september 2006 - 11:46 #8
jeg kan sagtens smide det i en løkke og tage indholdet fra bestem nr...men kommer der flere linier på så går det ikke...
vil hellere tage den fra tagne
Avatar billede fennec Nybegynder
01. september 2006 - 12:39 #9
Vi skal over i noget RegExp. Jeg har bikset denne kode sammen, som du kan afprøve:
Set Rx1 = New RegExp
Rx1.Global = True
Rx1.IgnoreCase = True
Rx1.Pattern = ".*<TD class=stCellBody><BIG><B>(\d+)</B></BIG></TD>.*"

set fso = Server.CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(server.mappath("htmlFil.html"), 1, false)

If Not file.AtEndOfStream  Then 
  Do While Not file.AtendOfStream 
    line = file.ReadLine
    if Rx1.Test(line) then
        value = Rx1.replace(line&"","$1")
        Response.write value &"<br>"
    end if
  Loop
End If
Avatar billede neeo Nybegynder
01. september 2006 - 12:44 #10
hvor skal jeg smide det henne ?

<%
Option Explicit
' Set up constants
Const ForReading = 1
Const Create = False

' Declare local variables
Dim objFSO        ' FileSystemObject
Dim TS            ' TextStreamObject
Dim strLine        ' local variable to store Line
Dim strFileName    ' local variable to store fileName

strFileName = Server.MapPath("test.htm")

' Instantiate the FileSystemObject
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' use Opentextfile Method to Open the text File
Set TS = objFSO.OpenTextFile(strFileName, ForReading, Create)


dim i
If Not TS.AtEndOfStream  Then 

Response.Write "<table border=1>"
Do While Not TS.AtendOfStream 
strLine = TS.ReadLine ' Read one line at a time
Response.Write strLine
Response.Write "<br/>
end if


 
Loop
Response.Write "</table>"
End If

' close TextStreamObject
' and destroy local variables to relase memory
TS.Close
Set TS = Nothing
Set objFSO = Nothing
%>
Avatar billede fennec Nybegynder
01. september 2006 - 12:55 #11
Var den besked til mig???
For det skal ikke smides nogen steder. Min kode kan køres som den er uden noget andet. Der skal ikke mere til:

[testFil.asp]
<%
Set Rx1 = New RegExp
Rx1.Global = True
Rx1.IgnoreCase = True
Rx1.Pattern = ".*<TD class=stCellBody><BIG><B>(\d+)</B></BIG></TD>.*"

set fso = Server.CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(server.mappath("htmlFil.html"), 1, false)

If Not file.AtEndOfStream  Then 
  Do While Not file.AtendOfStream 
    line = file.ReadLine
    if Rx1.Test(line) then
        value = Rx1.replace(line&"","$1")
        Response.write value &"<br>"
    end if
  Loop
End If
%>
Avatar billede neeo Nybegynder
01. september 2006 - 13:02 #12
den skriver ikke noget ud ved :
Response.write value &"<br>"
Avatar billede fennec Nybegynder
01. september 2006 - 13:02 #13
Har du rettet server.mappath("htmlFil.html") til den rigtige fil??
Avatar billede neeo Nybegynder
01. september 2006 - 13:05 #14
ja ja...
<%
Set Rx1 = New RegExp
Rx1.Global = True
Rx1.IgnoreCase = True
Rx1.Pattern = ".*<TD class=stCellBody><BIG><B>(\d+)</B></BIG></TD>.*"

set fso = Server.CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(server.mappath("htmlFil.html"), 1, false)

If Not file.AtEndOfStream  Then 
  Do While Not file.AtendOfStream 
    line = file.ReadLine

hvis jeg skriver response.write her så skriver den alt ud

    if Rx1.Test(line) then
        value = Rx1.replace(line&"","$1")
        Response.write value &"<br>"
    end if
  Loop
End If
%>
Avatar billede neeo Nybegynder
01. september 2006 - 13:05 #15
så det er noget indhold pågældende tidspunk:
  line = file.ReadLine
Avatar billede neeo Nybegynder
01. september 2006 - 13:08 #16
det er her i patern den fejler.....jeg prøve lige at rette det ?
Avatar billede neeo Nybegynder
01. september 2006 - 13:14 #17
aaaa......kanonnnn det virker ....tussind tak...kan du ikke indlægge et svar :)
Avatar billede fennec Nybegynder
04. september 2006 - 12:09 #18
.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester