Search a string inside an xml node

Discussion in 'ASP General' started by lejason@gmail.com, Mar 20, 2007.

  1. Guest

    Hello, I am looking for a way to do a string search inside an xml.
    Basically, I work for a company that wants to export an XML file from
    and excel sheet and then have that data be presented on the web. Part
    of the presentation is that they want to be able to "search" for their
    favorite dealers. So, this will be a string search.

    The difficulty is, we dont have .NET, we dont have a SQL server -- all
    I can use is ASP classic.

    So, I can read/parse the XML and I can search for static things like
    zip codes and products (products from a drop down list that dont
    change) using simple "if" statements however, when it comes to a
    string, unless the user enters it EXACTLY how its spelled an
    punctuated in the XML, it wont return the match (of course).

    I've read about a lot of functionality that .NET offers for string
    search, but I havent yet found anything for classic.

    The code I am going to post works and will eventually become the
    actual engine, but for now the variables are for people - name, color,
    number.

    So the million dollar question is, if I wanted to add another
    dimension to my array that had a string where I wanted to pick up on
    keywords - lets say one word in up to 230 characters, how on earth
    would I create a function to make it searchable (search inside of a
    string)

    thanks guys

    (here is the code)

    <%

    Dim xdoc
    Set xdoc=Server.CreateObject("Microsoft.XMLDOM")
    xdoc.async=false
    xdoc.load("/newtext.xml")

    if xdoc.parseError.errorcode<>0 then
    response.write "there was obviously an error"
    else
    response.write "Things worked"
    end if

    dim theLength
    theLength = xdoc.SelectNodes("/test/person").length

    dim counter
    counter = 0

    dim theArray()
    ReDim theArray(theLength, 2)

    For Each elemPerson in xdoc.SelectNodes("/test/person")
    For Each elem in elemPerson.SelectNodes("*")
    theArray(counter,0)= elemPerson.childNodes(0).text
    theArray(counter,1)= elemPerson.childNodes(1).text
    theArray(counter,2)= elemPerson.childNodes(2).text
    Next
    counter = counter + 1
    Next

    dim real
    real = theLength - 1

    dim rowcounter
    rowcounter = 1

    For i=0 to real

    dim personName
    personName = theArray(i, 0)
    dim personColor
    personColor = theArray(i, 1)
    dim personNumber
    personNumber = theArray(i, 2)


    dim search_name
    search_name = "Jason"
    dim search_color
    search_color = "blue"
    dim search_number
    search_number = "16"


    dim color
    color = " class='even'"

    if rowcounter MOD 2 <> 0 then
    color = " class='odd'"
    end if

    if (personName = search_name or personColor = search_color) then
    response.write "<tr" & color &">"
    response.write "<td>" & personName & "</td>"
    response.write "<td>" & personColor & "</td>"
    response.write "<td>" & personNumber & "</td>"
    response.write "<td>" & rowcounter & "</td>"
    response.write "</tr>"

    rowcounter = rowcounter + 1

    end if

    Next

    %>
     
    , Mar 20, 2007
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    0
    Views:
    1,466
  2. Thomas Patton

    search an XML node for a string

    Thomas Patton, Aug 11, 2004, in forum: XML
    Replies:
    0
    Views:
    366
    Thomas Patton
    Aug 11, 2004
  3. Replies:
    5
    Views:
    752
    Alan Kennedy
    Nov 4, 2005
  4. Tjerk Wolterink
    Replies:
    2
    Views:
    1,437
    Dimitre Novatchev
    Aug 24, 2006
  5. Geagleeye

    how to creating new node inside a xml node

    Geagleeye, Aug 2, 2006, in forum: ASP General
    Replies:
    2
    Views:
    199
    Geagleeye
    Aug 3, 2006
Loading...

Share This Page