Solved

display result from xml file

Posted on 2006-11-01
6
161 Views
Last Modified: 2012-05-05
Hi Experts
I have the following xml:
<?xml version="1.0"?>
<!--This Is A List Of Dream Vacations Special Packages-->
<HOTELS>
  <HOTEL>
    <DEPARTURE>Toronto</DEPARTURE>
    <DESTINATION>Cancun</DESTINATION>
    <NAME>AKUMAL BEACH RESORT</NAME>
    <LINK>http://webstar.softvoyage.com/cgi-bin/hotel_desc.cgi?sun&amp;&amp;http://webstar.softvoyage.com/hotels/VACen/AKUMCUN.html</LINK>
    <STAR>3</STAR>
    <ROOM>STD-GARD</ROOM>
    <MEAL>AI</MEAL>
    <DATE>NOV-15-2006</DATE>
    <DURATION>7</DURATION>
    <PRICE>$822.00</PRICE>
    <SID>112086a3259303c76d123e67e7004be2</SID>
    <URL>http://sun.sax.softvoyage.com/cgi-bin/resultsforf.cgi?sid=112086a3259303c76d123e67e7004be2</URL>
  </HOTEL>
  <HOTEL>
    <DEPARTURE>Toronto</DEPARTURE>
    <DESTINATION>Cancun</DESTINATION>
    <NAME>AKUMAL BEACH RESORT</NAME>
    <LINK>http://webstar.softvoyage.com/cgi-bin/hotel_desc.cgi?sun&amp;&amp;http://webstar.softvoyage.com/hotels/VACen/AKUMCUN.html</LINK>
    <STAR>3</STAR>
    <ROOM>SUP</ROOM>
    <MEAL>AI</MEAL>
    <DATE>NOV-15-2006</DATE>
    <DURATION>7</DURATION>
    <PRICE>$863.00</PRICE>
    <SID>112086a3259303c76d123e67e7004be2</SID>
    <URL>http://sun.sax.softvoyage.com/cgi-bin/resultsforf.cgi?sid=112086a3259303c76d123e67e7004be2</URL>
  </HOTEL>
</HOTELS>

And im using the following code which  should display the result of each node on the page but it gives me the result of first node every time. Im using the following code:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim doc As New XmlDocument
        Dim hotelNodes As XmlNodeList
        Dim node As XmlNode
        Dim strDep, strDes, strName, strLink, strStar, strRoom, strMeal, strDate, strDuration, strPrice, strSID, strURL As String
        Dim lbl As Label
       
       
        Dim hl As HyperLink
        Dim tbl As New Table
        Dim tr As TableRow
        Dim tc As TableCell
        Dim i As Integer
        doc.Load("C:\Inetpub\wwwroot\CallForm\Specials\special.xml")

        hotelNodes = doc.SelectNodes("//HOTELS/HOTEL")

        i = 1

        For Each node In hotelNodes
            strDep = node.SelectSingleNode("//DEPARTURE").InnerText
            strDes = node.SelectSingleNode("//DESTINATION").InnerText
            strName = node.SelectSingleNode("//NAME").InnerText
            strLink = node.SelectSingleNode("//LINK").InnerText
            strStar = node.SelectSingleNode("//STAR").InnerText
            strRoom = node.SelectSingleNode("//ROOM").InnerText
            strMeal = node.SelectSingleNode("//MEAL").InnerText
            strDate = node.SelectSingleNode("//DATE").InnerText
            strDuration = node.SelectSingleNode("//DURATION").InnerText
            strPrice = node.SelectSingleNode("//PRICE").InnerText
            strSID = node.SelectSingleNode("//SID").InnerText
            strURL = node.SelectSingleNode("//URL").InnerText

           
            tr = New TableRow
            tc = New TableCell
           
            lbl = New Label
            lbl.ID = "lbl" & i
            lbl.Text = "<br>Departure: "
            tc.Controls.Add(lbl)
            lbl = New Label
            lbl.ID = "lbl2" & i
            lbl.Text = "<b>" & strDep & "</b></br>"
            tc.Controls.Add(lbl)
            tr.Cells.Add(tc)
            tbl.Rows.Add(tr)
           
            lbl = New Label
            lbl.ID = "lbl" & i
            lbl.Text = "Destination: "
            tc.Controls.Add(lbl)
            lbl = New Label
            lbl.ID = "lbl2" & i
            lbl.Text = "<b>" & strDes & "</b></br>"
            tc.Controls.Add(lbl)
            tr.Cells.Add(tc)
            tbl.Rows.Add(tr)
           
            lbl = New Label
            lbl.ID = "lbl" & i
            lbl.Text = "Hotel: "
            tc.Controls.Add(lbl)
            hl = New HyperLink
            hl.ID = "h1" & i
            hl.Text = strName
            hl.NavigateUrl = strLink
            tc.Controls.Add(hl)
            tr.Cells.Add(tc)
            tbl.Rows.Add(tr)
           
            tr = New TableRow
            tc = New TableCell
            lbl = New Label
            lbl.ID = "lbl" & i
            lbl.Text = "Star Rating: "
            tc.Controls.Add(lbl)
            lbl = New Label
            lbl.ID = "lbl2" & i
            lbl.Text = "<b>" & strStar & "</b>"
            tc.Controls.Add(lbl)
            tr.Cells.Add(tc)
            tbl.Rows.Add(tr)
           
            tr = New TableRow
            tc = New TableCell
            lbl = New Label
            lbl.ID = "lbl" & i
            lbl.Text = "Room Type: "
            tc.Controls.Add(lbl)
            lbl = New Label
            lbl.ID = "lbl2" & i
            lbl.Text = "<b>" & strRoom & "</b>"
            tc.Controls.Add(lbl)
            tr.Cells.Add(tc)
            tbl.Rows.Add(tr)
           
            tr = New TableRow
            tc = New TableCell
            lbl = New Label
            lbl.ID = "lbl" & i
            lbl.Text = "Meal: "
            tc.Controls.Add(lbl)
            lbl = New Label
            lbl.ID = "lbl2" & i
            lbl.Text = "<b>" & strMeal & "</b>"
            tc.Controls.Add(lbl)
            tr.Cells.Add(tc)
            tbl.Rows.Add(tr)
           
            tr = New TableRow
            tc = New TableCell
            lbl = New Label
            lbl.ID = "lbl" & i
            lbl.Text = "Date: "
            tc.Controls.Add(lbl)
            lbl = New Label
            lbl.ID = "lbl2" & i
            lbl.Text = "<b>" & strDate & "</b>"
            tc.Controls.Add(lbl)
            tr.Cells.Add(tc)
            tbl.Rows.Add(tr)
           
            tr = New TableRow
            tc = New TableCell
            lbl = New Label
            lbl.ID = "lbl" & i
            lbl.Text = "Duration: "
            tc.Controls.Add(lbl)
            lbl = New Label
            lbl.ID = "lbl2" & i
            lbl.Text = "<b>" & strDuration & "</b>"
            tc.Controls.Add(lbl)
            tr.Cells.Add(tc)
            tbl.Rows.Add(tr)
           
            tr = New TableRow
            tc = New TableCell
            lbl = New Label
            lbl.ID = "lbl" & i
            lbl.Text = "Price: "
            tc.Controls.Add(lbl)
            lbl = New Label
            lbl.ID = "lbl2" & i
            lbl.Text = "<b>" & strPrice & "</b>"
            tc.Controls.Add(lbl)
            tr.Cells.Add(tc)
            tbl.Rows.Add(tr)
                       
            tr = New TableRow
            tc = New TableCell
            hl = New HyperLink
            hl.ID = "h2" & i
            hl.NavigateUrl = strURL
            'hl.NavigateUrl = "http://sun.sax.softvoyage.com/cgi-bin/input-verifforf.cgi?sid=" & strSID
            hl.Text = "<b>" & "Request Space" & "</b></br>"
            tc.Controls.Add(hl)
            tr.Cells.Add(tc)
            tbl.Rows.Add(tr)
     
       i += 1
        Next
        Page.Controls.Add(tbl)
     End Sub

This code traverse through each node but displaying the values of first node every time. Can anyone help me..?

Best Regards
Shaukat
0
Comment
Question by:shwaqar82
  • 3
  • 3
6 Comments
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 17853842
Hi shwaqar82,

get rid of the "//" in the childnodes
strDep = node.SelectSingleNode("DEPARTURE").InnerText


Cheers!
0
 
LVL 60

Accepted Solution

by:
Geert Bormans earned 500 total points
ID: 17854059
shwaqar82,

the "//" makes you start at the root node all over again for every HOTEL
pointing at the first each time

since DEPARTURE is a direct child, you should just put the name there, not the // in front of it

cheers

Geert
0
 

Author Comment

by:shwaqar82
ID: 17854922
i did that but still gives me the same result
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 

Author Comment

by:shwaqar82
ID: 17858053
Hi Geert

It works now thanks for you precious help on time.

Best Regards
Shaukat
0
 

Author Comment

by:shwaqar82
ID: 17858093
Can you help me in displaying the nodes information row wise. I mean i wana display the information like below:

Hotel 1 Information                       Hotel 2 Information
Hotel 3 Information                       Hotel 4 Information
Hotel 5 Information

Right now it displays the information like that:

Hotel 1 Info.
Hotel 2 Info.
Hotel 3 Info.
....

That would be great if you fixed it.

Best Regards
Shaukat Waqar
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 17876648
Hi,

I am not really a VB (script) programmer

What you could do is the following

For Each node In hotelNodes
you could only loop over the hotelNodes with a position mod 2 = 1
and so create the rows
and pick the following node inside the row

If you can't manage that yourself, you can post in the VB(script) TA

cheers
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
RSS Feed Validation 2 49
CRM 2011 Ribbon Workbench vs RibbonDiffXml 44 201
XSLT Assistance 9 44
XML file fails to process correctly 3 42
The Client Need Led Us to RSS I recently had an investment company ask me how they might notify their constituents about their newsworthy publications.  Probably you would think "Facebook" or "Twitter" but this is an interesting client.  Their cons…
The Confluence of Individual Knowledge and the Collective Intelligence At this writing (summer 2013) the term API (http://dictionary.reference.com/browse/API?s=t) has made its way into the popular lexicon of the English language.  A few years ago, …
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now