Avatar billede pomfrit Nybegynder
28. september 2000 - 13:21 Der er 4 kommentarer og
1 løsning

DOM...hjælp !!!

Jeg har en streng, der indeholder XML
denne streng vil jeg bearbejde med DOM
Meeeeen...hvordan får jeg DOM til at skrive den nye streng tilbage igen????

Jeg er ved at gå amok !

Her er min kode :
<%
    Dim strSoeg, objXML, rootNode, childNodes, strTest, XMLstreng, XMLstart, antalNode, xmlDoc
   

    XMLstart = \"<?xml version=\'1.0\'?>\"
    Set Kurv = Session(\"Kurv\")
   

    Dim XMLtemp
    dim keyarray
    dim i
    Keyarray = Kurv.Keys
    For i = 0 to Kurv.Count - 1

%>
<% CDnr = (Keyarray(i))%>
<% Antal=Kurv.Item(Keyarray(i))%>

<%   
    Set Con = Server.CreateObject( \"ADODB.Connection\" )
    Con.Open \"DSN=XMLTEST.mdb\"
    Set RS = Con.Execute( \"SELECT * FROM CD WHERE CDID=\"& CDnr  )
%>
<%Set objXML = server.CreateObject(\"Microsoft.XMLDOM\")%>


<% WHILE NOT RS.EOF%>

<%    strTest = RS(\"CDData\")
   
    objXML.LoadXML(strTest)
   
    Set rootNode = objXML.documentElement
   
    If rootNode.hasChildNodes() Then
        For each pageNode in rootNode.childNodes
           

            For each propertyNode in pageNode.childNodes
                If propertyNode.nodeName = \"Kunstner\" Then
                If InStr(propertyNode.Text, strSoeg) Then
                XMLstreng = XMLstreng + mid(strTest, 12, ((len(strTest)-23))) \'fjerner cdobject tags\'ne og samler XMLstreng
                End if
            End if

        Next
    Next
   
End if

RS.MoveNext

Wend
next
XMLstreng = XMLstreng + \"</CD_object>\" \'XMLstreng saml %>
<%XMLstreng=XMLstart+XMLstreng
%>

   




<% Con.Close %>
<% Set Con = Nothing
objXML.load(XMLstreng)
objXML.save(Server.Mappath(\"domnode.xml\"))%>// Her skulle det egenligt gemmes i en streng !
<% set objXML = Nothing%>

<%

\'set xmlDoc=CreateObject(\"Microsoft.XMLDOM\")
\'xmlDoc.async=\"false\"
\'xmlDoc.load(XMLstreng)

\'response.write(XMLstreng)

Set Kurv = Session(\"Kurv\")
   


    dim keyarray2
    dim y
    Keyarray2 = Kurv.Keys
    For y = 0 to Kurv.Count - 1

%>
<% CDnr = (Keyarray2(y))%>
<% Antal2=Kurv.Item(Keyarray2(y))%>
<%

dim antal
set xmlDoc = Server.CreateObject(\"Microsoft.XMLDOM\")
xmlDoc.async=\"false\"
xmlDoc.load(Server.Mappath(\"domnode.xml\"))

for each x in xmlDoc.documentElement.childNodes
    Set rootNode = xmlDoc.documentElement
    If rootNode.hasChildNodes() Then
    set newnode=xmlDoc.createElement(\"Antal\")
    For each pageNode in rootNode.childNodes
    pageNode.appendchild(newnode)
    For each propertyNode in pageNode.childNodes
    If propertyNode.nodeName = \"Antal\" Then
    propertyNode.text = 4

   
   

end if
next
next
end if

    \'response.write(x.nodename)
    \'response.write(\": \")
    \'response.write(x.text)

next
next

Avatar billede janegil Nybegynder
28. september 2000 - 14:13 #1
Du får ikke \'destillert\' ut et mindre eksempel fra denne koden?

En liten kodebit som bare prøver å gjøre akkurat det som ikke virker, og ikke noe mer?
Avatar billede larsomania Nybegynder
28. september 2000 - 14:21 #2
Ja.. Og hvor ønsker du at skrive den hen?
Avatar billede swjensen Nybegynder
29. september 2000 - 07:59 #3
>>objXML.load(XMLstreng)
>>objXML.save(Server.Mappath(\"domnode.xml\"))%>// Her skulle det egenligt gemmes i en streng !

streng = objXML.XML
Avatar billede janegil Nybegynder
29. september 2000 - 10:25 #4
Altså: XMLstreng er allerede en streng.
Så skriver du vel

streng = XMLstreng
?
Disse load() og save() funksjonene konverterer sikkert XML fra strengformat til treformat?
Avatar billede janegil Nybegynder
29. september 2000 - 10:45 #5
Ser i http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/xmlsdk/xmld0z1h.htm
at
objXML.XML
returnerer en UNICODE-streng, kan det være problemet?
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





Premium
Søstrene Grene skifter Microsoft ud med SAP og rykker for første gang i clouden i stor ERP-transformation: Der er brug for en helt ny tilgang