Avatar billede mini-me Nybegynder
23. marts 2008 - 11:37 Der er 1 kommentar og
1 løsning

ASP og XML dataudtræk

Hej,

Efter at have prøvet med arrays, tænker jeg det måske var bedre at have mine data i en XML fil.

Jeg har fået det her til at fungerere:

  <%   
              Dim objXMLDom
              Set objXMLDOM = Server.CreateObject("Microsoft.XMLDOM")
               
              objXMLDOM.async = False
              objXMLDom.load(Server.MapPath("/xmlData/delivery.xml"))
           
              Dim objChild
              for each objChild in objXMLDOM.documentElement.childNodes
   
                Response.write(objChild.nodename)
                Response.write(": ")
                response.write(objChild.text)
               
                response.Write("<BR>")
              next
           
              Set objXMLDom = Nothing

            %> 

Men det fungerere ikke helt efter hensigten, det looper igennem min XML fil, men skriver alle værdierne ud.

Hvordan kan jeg selv vælge hvilke værdier det skal være?

Min xml fil ser sådan ud:

<?xml version="1.0"?>
<standardDelivery>
  <deliveryItems>
    <fieldName>Navn:</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>Name</DBFieldName>
  </deliveryItems>

  <deliveryItems>
    <fieldName>Adresse:</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>Address</DBFieldName>
  </deliveryItems>
 
  <deliveryItems>
    <fieldName>Navn:</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>Name</DBFieldName>
  </deliveryItems>
 

  <deliveryItems>
    <fieldName>Adresse:</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>Address</DBFieldName>
  </deliveryItems>
 
 
  <deliveryItems>
    <fieldName>Navn:</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>Name</DBFieldName>
  </deliveryItems>
 
</standardDelivery>



Det jeg præcis ønsker er hvordan kan jeg loope igennem og evt. bare hente DBFieldName værdien ud ?
Avatar billede mini-me Nybegynder
23. marts 2008 - 20:56 #1
Blev løst sådan her:

<%   
        Dim xml, root, fieldName, FieldType, Required, DBFieldName, nameNode, thisChild
       
        Set xml = Server.CreateObject("Microsoft.XMLDOM")
        xml.async = False
        xml.load(Server.MapPath("/xmlData/delivery.xml"))
                       
        Set root = xml.documentElement
                       
        For I = 0 TO (root.childNodes.length - 1)
       
            Set thisChild = root.childNodes(I)
       
            fieldName = thisChild.childNodes(0).Text
            FieldType = thisChild.childNodes(1).Text
            Required = thisChild.childNodes(2).Text
            DBFieldName = thisChild.childNodes(3).Text
           
       
            response.Write "<div class=""delivery_" & DBFieldName & """>" & fieldName  & "</div>"
            Response.Write "<div class=""delivery_" & DBFieldName & """></div>"
           
                if lcase(FieldType) = "input" then
                    response.Write "<input type=""input"" name=""" & DBFieldName & """ class=""delivery_input_" & DBFieldName & """>" & vbCrlf
                end if
               
                if lcase(FieldType) = "textarea" then    
                    response.Write "<textarea name=""" &  DBFieldName & """ class=""delivery_input_" & DBFieldName  & """></textarea>" & vbCRlf
                end if
           
            if lcase(Required) = lcase("yes") then
                   
                response.Write("*")
                       
            end if
           
        next
%>
Avatar billede mini-me Nybegynder
23. marts 2008 - 20:56 #2
og min XML fil ser sådan ud:

<?xml version="1.0" encoding="UTF-8"?>
<standardDelivery>
  <deliveryFieldItems>
    <fieldName>Firma:</fieldName>
    <FieldType>input</FieldType>
    <Required>no</Required>
    <DBFieldName>Company</DBFieldName>
  </deliveryFieldItems>
  <deliveryFieldItems>
    <fieldName>Navn:</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>Name</DBFieldName>
  </deliveryFieldItems>
  <deliveryFieldItems>
    <fieldName>Adresse:</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>Address1</DBFieldName>
  </deliveryFieldItems>
  <deliveryFieldItems>
    <fieldName>Postnr.</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>Zip</DBFieldName>
  </deliveryFieldItems>
  <deliveryFieldItems>
    <fieldName>By:</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>City</DBFieldName>
  </deliveryFieldItems>
  <deliveryFieldItems>
    <fieldName>Email:</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>Email</DBFieldName>
  </deliveryFieldItems>
  <deliveryFieldItems>
    <fieldName>Telefon:</fieldName>
    <FieldType>input</FieldType>
    <Required>yes</Required>
    <DBFieldName>Phone</DBFieldName>
  </deliveryFieldItems>
  <deliveryFieldItems>
    <fieldName>Bemaerkning:</fieldName>
    <FieldType>textarea</FieldType>
    <Required>no</Required>
    <DBFieldName>Note</DBFieldName>
  </deliveryFieldItems>
</standardDelivery>
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