Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 259
  • Last Modified:

Extracting Data from XML

Hi

My first task was to : extract country code and country name values in a combo box:

I did this and here is my code:

====================================
'ASP Code start here:

Set objXMLDoc = CreateObject("Microsoft.XMLDOM")
      objXMLDoc.async = False
      objXMLDoc.loadXML("countries.xml")
      

Response.Write "<form action='getCity.asp' method='post'>"

%>
<select name="txtCountryID" onChange="window.open(this.options[this.selectedIndex].value,'_self')">
<%

      'Response.Write "<option value='' selected>Select Country</option>"
      
      Set NodeList2 = objXMLDoc.getElementsByTagName("CoID")
      Set NodeList = objXMLDoc.getElementsByTagName("Country")
      
      
      numNodes2 = NodeList2.Length
      
      For i = 1 To NumNodes2
               Set CurrNode2 = NodeList2.nextNode
               Set CurrNode = NodeList.nextNode
               Response.Write "<option value='getCity.asp?CountryID="&CurrNode2.text&"&Country="&CurrNode.text&"'>"&CurrNode.text&"</option>"
      Next

      Response.Write "</select>"
      Response.Write "</form>"
'Asp Code End here
============================================


============================================
'short version of my XML file
<?xml version="1.0" encoding="utf-8" ?>
- <CountriesCities>
- <Countries>
  <CoID>111</CoID>
  <Country>ALBANIA</Country>
  <Cities CiID="1478" City="TIRANA" />
  </Countries>
- <Countries>
  <CoID>1</CoID>
  <Country>AUSTRALIA</Country>
  <Cities CiID="1" City="ADELAIDE" />
  <Cities CiID="4" City="MELBOURNE" />
  <Cities CiID="6" City="SYDNEY" />
  </Countries>
- <Countries>

'XML file end here
============================================

Until here I am fine.

My problem is:

I have now the countries in the combo on the first page. On the next page, I want another combo, with the cities from selected country.


Clarification: if on the first page selected country was Albania, I would like to get Tirana only in my combobox, and if selected country was Australia to get: ADELAIDE, MELBOURNE and SYDNEY

The very same as in the country combo, ID is the value and the name is displayed in the combo.

Anyone can help?

Regards, Zoran
0
zoran_m
Asked:
zoran_m
1 Solution
 
Geert BormansCommented:
Hi zoran_m,

It seems to me that all you need is a way to select the cities based on the country
and that you can deal with the rest yourself

instead of using the
Set NodeList = objXMLDoc.getElementsByTagName("Country")

you can use
Set NodeList = objXMLDoc.SelectNodes("//Countries[Country = 'AUSTRALIA']/Cities/@City")

selectnodes allows you to select nodes based on an XPath expression
the expression is a string so you can construct it through concatenation with the country name as a variable eg.

Cheers!
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now