Avatar billede twg Nybegynder
17. februar 2001 - 14:31 Der er 10 kommentarer og
2 løsninger

Send data med asp til xml dokument

Hejza
Jeg sidder her med et xml dokument der ser sådan ud:
<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<news>
      <nyheder>
        <titel>Titel</titel>
        <dato>dato</dato>
        <nyheden>Selve nyheden</nyheden>
</news>
den hedder nyheder.xml

så har jeg en side med en form.
<form name=\"form1\" method=\"post\" action=\"\">
  <p>
    <input type=\"text\" name=\"titel\">
    <br>
    <textarea name=\"nyheden\" cols=\"50\" rows=\"5\"></textarea>
  </p>
  <p>
    <input type=\"submit\" name=\"Submit\" value=\"Send\">
  </p>
  </form>
Nu er det jeg, @ asp, gerne vil have at det man skriver ind i felterne bliver gemt i xml dokumentet.
Og hvordan gør man så det ?
--
Michael
Avatar billede tdaugaard Nybegynder
17. februar 2001 - 14:33 #1
bliver gemt ? altså skal filen gemmes eller bare vises ?
Avatar billede brain Nybegynder
17. februar 2001 - 14:42 #2
Du skal have fat i XML DOM, med den kan du åbne, rette og gemme XML dokumenter. Læs mere her...

http://msdn.microsoft.com/xml/xmlguide/dom-guide-document.asp

Avatar billede twg Nybegynder
17. februar 2001 - 15:26 #3
Ja det skal gemmes
Avatar billede brain Nybegynder
17. februar 2001 - 15:32 #4
fik du ikke noget ud af linket?
Avatar billede twg Nybegynder
17. februar 2001 - 15:36 #5
Ved det ik lige endnu, jeg er ved at lægge et nyt gulv, på mit kontor, men kunne du ikke lave det færdigt, du kan da godt få mere end 200 point, hvis du vil have det
Avatar billede brain Nybegynder
17. februar 2001 - 15:44 #6
ehh, nej nej. 200 er allerede for meget. Jeg har jo ikke lavet noget endnu. Vil du gerne have mig til det?
Avatar billede brain Nybegynder
17. februar 2001 - 16:05 #7
her er en stump asp der virker......

<%@ Language=VBScript %>
<%

    if not isempty(Request.Form(\"Submit\")) then
        Dim xmldoc
        Set xmldoc = CreateObject(\"Microsoft.XMLDOM\")

        xmldoc.load(Server.MapPath(\"mystore.xml\"))
       
        \'Set root to the XML document\'s root element, news:
        Set root = xmldoc.documentElement
        \'Walk from the root to each of its child nodes:
        For Each child In root.childNodes
          if child.tagName = \"titel\" then
            child.text = Request.Form(\"titel\")
          elseif child.tagName = \"nyheden\" then
            child.text = Request.Form(\"nyheden\")
          elseif child.tagName = \"dato\" then
            child.text = Now
          end if   
        Next   
       
        xmldoc.save(Server.MapPath(\"mystore.xml\"))
    end if
%>
<HTML>
<HEAD>
<META NAME=\"GENERATOR\" Content=\"Microsoft Visual Studio 6.0\">
</HEAD>
<BODY>

<form name=\"form1\" method=\"post\" action=\"\">
<p>   
<input type=\"text\" name=\"titel\">
<BR>
<textarea name=\"nyheden\" cols=\"50\" rows=\"5\">
</textarea> <BR>  </p>
 
<p><input type=\"submit\" name=\"Submit\" value=\"Send\">  
</p> </form>
</BODY>
</HTML>



den gemmer det indtastede i mystore.xml i samme dir som ASP file ligger i. mystore.xml ser således ud....(indeholder mine testdata)

<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<news>
    <titel>Nyhed</titel>
    <dato>17-02-2001 16:03:38</dato>
    <nyheden>Dette er en nyhed..</nyheden>
</news>


Internet useren på serveren skal naturligvis have skriverettigheder til det sted hvor nyheden skal ligge. Eksemplet giver ikke meget mening hvis ikke du bruger create node til at lave nye nodes til at gemme det indtastede i....

prøv det på http://dev.jdn.dk/xml/storexml.asp

jeg udvider lige så det appender den nye nyhed til xml dokumentet i stedet...
Avatar billede twg Nybegynder
17. februar 2001 - 16:27 #8
Jeg kan ikke rigtig få det til at virke.
Det skal lave nye nodes
Avatar billede brain Nybegynder
17. februar 2001 - 16:32 #9
Check again ;-) på URL\'en...
Avatar billede brain Nybegynder
17. februar 2001 - 16:33 #10
her er koden til det....

<%@ Language=VBScript %>
<%
   
    if not isempty(Request.Form(\"a\")) then
        Dim xmldoc
        Set xmldoc = CreateObject(\"Microsoft.XMLDOM\")

        xmldoc.load(Server.MapPath(\"mystore.xml\"))


        if Request.Form(\"a\") = \"submit\" then

            \'Set root to the XML document\'s root element, news:
            Set root = xmldoc.documentElement
           
            set last = root.childNodes.item( root.childNodes.length - 1 )
       
            set clone = last.cloneNode( true )   

            For Each child In clone.childNodes
                if child.tagName = \"titel\" then
                    child.text = Request.Form(\"titel\")
                elseif child.tagName = \"dato\" then       
                    child.text = Now
                elseif child.tagName = \"nyheden\" then       
                    child.text = Request.Form(\"nyheden\")
                end if   
            Next   

            root.appendChild( clone )

    \'        For Each child In root.childNodes
    \'          Response.Write( child.tagname & \" - \" & child.text & \"<br>\" )   
    \'        Next   

            xmldoc.save(Server.MapPath(\"mystore.xml\"))

        elseif Request.Form(\"a\") = \"show\" then

       
            \'Set root to the XML document\'s root element, news:
            Set root = xmldoc.documentElement
            \'Walk from the root to each of its child nodes:
            For Each child In root.childNodes
              Response.Write( child.tagname & \" - \" & child.text & \"<br>\" )   
            Next   
        end if
    end if
%>
<HTML>
<HEAD>
<META NAME=\"GENERATOR\" Content=\"Microsoft Visual Studio 6.0\">
</HEAD>
<BODY>

<form name=\"form1\" method=\"post\" action=\"\">
<input type=hidden name=a value=\"submit\">
<table>
<tr>
  <td>   
    Titel på nyhed
  </td> 
  <td>   
    <input type=\"text\" name=\"titel\">
  </td> 
</tr>
<tr>
  <td>   
    Selve nyheden
  </td> 
  <td>   
    <textarea name=\"nyheden\" cols=\"50\" rows=\"5\">
    </textarea> <BR>  </p>
  </td> 
</tr>
 
<tr>
  <td>   
    <input type=\"submit\" name=\"Submit\" value=\"Send\" onclick=\"java script:document.form1.a.value=\'submit\'\">
  </td> 
  <td>   
    <input type=\"submit\" name=\"Vis\" value=\"Vis nyheder\" onclick=\"java script:document.form1.a.value=\'show\'\"> <a href=\"mystore.xml\">xmldoc</a>
  </td> 
</tr>
</table>
</form>
</BODY>
</HTML>
Avatar billede twg Nybegynder
17. februar 2001 - 16:37 #11
Så virker det, mange tak

--
Michael
Avatar billede brain Nybegynder
17. februar 2001 - 16:38 #12
no prob....nu ender det jo nok med jeg går helt amok i XML.....*G*
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