• 0

VB6 Reading XML from website


Question

I'm totally new to Visual Basic 6 so please forgive me if this is a dumb question that has an easy answer. I've searched but I can't find an easy solution that someone like me would understand.

Here is what I would like to do. I want to access a website using my program and read in one of 2 XML file. After reading them, I want it add the values to a variable.

The first XML may be on a URL like: http://www.example.com/version.xml

The XML will look exactly like:

<version>
	<number>3.1.5</number>
</version>

The second XML may be on a URL like: http://www.example.com/news.xml

The XML will look exactly like:

<message>
	<id>786</id>
	<name>Tony Lock</name>
	<subject>Hello World</subject>
	<forum>General</forum>
</message>

I don't have any idea how to connect to a website using VB or how to cycle thought an XML and parse the variables I want. So ideally, the following variables would be populated with the values from the XML:

+-----------+---------------+
|  VB VAR   |  VALUES	   |
+===========+===============+
|  Version  |  3.1.5		|
+-----------+---------------+
|  ID	   |  786		  |
+-----------+---------------+
|  Name	 |  Tony Lock	|
+-----------+---------------+
|  Subject  |  Hello World  |
+-----------+---------------+
|  Forum	|  General	  |
+-----------+---------------+

Thank you so much for your help.

Link to comment
https://www.neowin.net/forum/topic/773202-vb6-reading-xml-from-website/
Share on other sites

13 answers to this question

Recommended Posts

  • 0

I am new to VB and I was given a copy of VB6. I did not even know about VB.net. Where can I download visual basic .net from?

None the less, can you still help me with the code? I am too new at this to even know where to begin.

Edited by TonyLock
  • 0

i concur, your task will be a lot leasier with .net (c# or vb), so if you don't need to use vb6 or are not that far along in your development to mind switching go download it and give it a shot..

i will knock up an example for you when i get into work tomorrow :)

good luck.

  • 0
  TonyLock said:
I am new to VB and I was given a copy of VB6. I did not even know about VB.net. Where can I download visual basic .net from?

None the less, can you still help me with the code? I am too new at this to even know where to begin.

I'll be glad to try. I only suggested updating VB because it'll take me ages to remember/reference VB6 and MS-XML. :)

All the express versions of Visual Studio can be found at http://msdn.microsoft.com/express

(Don't forget the documentation library at the bottom of the page.)

  • 0

Thank you but I have uninstaller VB.net, it was jus way too bloated and none of my old VB6 files our load.

Anyway, what's wrong with spoon feeding? :-P

I've always thought that one of the best ways to learn is not just to experiment (in my case, just stabbing in the dark) but to learn from experienced people, like you folk. And as for using Google, well what do you think I've been doing all weekend, without success?

  • 0
  TonyLock said:
I'm totally new to Visual Basic 6 ...
  TonyLock said:
... and none of my old VB6 files our load.

Surely there can't be that many of them.. :p

But seriously, handling HTTP Requests, XML, and even encryption (from your other thread) is much easier in .Net.

  • 0

There should be a converter to import VB6 into VB .NET. Is it not included anymore?

If you're still wanting to try .NET, here is the first step: requesting the file from the web server. (I'm using the World of Warcraft realm server status as an example because it's a known Url.)

Module XmlModule
	Dim requestUrl As String = "http://www.worldofwarcraft.com/realmstatus/status.xml"

	Sub Main()
		Dim xmlData As String = GetXmlFromUri(requestUrl)
		Console.WriteLine("WoW realm status data:")
		Console.WriteLine()
		Console.WriteLine(xmlData)
		Console.WriteLine()
		Console.Write("Pressr to exit.")
		Console.ReadLine()
	End Sub

	Function GetXmlFromUri(ByVal uri As String) As String
		' This creates a System.Net.WebRequest class that will 
		' get the XML file from the web server
		Dim req As Net.HttpWebRequest = Net.WebRequest.Create(requestUrl)

		' This creates a System.Net.WebResponse class by sending the
		' request and receiving the data.
		Dim resp As Net.HttpWebResponse = req.GetResponse()

		' This creates a System.IO.StreamReader class that will read
		' the xml data from the HttpWebResponse class.
		Dim reader As IO.StreamReader = New IO.StreamReader(resp.GetResponseStream())

		' Read the entire text stream from the response via 
		' the StreamReader
		Dim xml As String = reader.ReadToEnd()

		' Note it is not necessary to call Close() on any of the classes
		' as the .NET Framework will dispose of them automatically when
		' they go out of scope at the end of the function.
		' You can get more advanced and Close/Dispose them manually for
		' more efficiency, though.
		Return xml
	End Function

End Module

If you want to continue, give this a try and let me know. Next we can do the actual parsing of the data.

  • 0

To be honest, you're really not going to get far with VB6. I'd actually recommend that since you're taking the time to learn a language, that you just start with C#. VB.NET really is quite a transitional language from people that know VB6 [which you, by any stretch of the imagination, do not] to C#. C# is more widely supported and opens more opportunities for you down the line.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Explzh 9.81 by Razvan Serea Explzh is a free Windows archive manager for creating, extracting and managing archives. The program supports many different types of archives, including zip, 7z, rar, tar, ace, lzh, arj, cab, iso, img, msi, sfx and more. Apart from archive creation and extraction, you will also be able to verify compressed data for errors, initiate repair routines, split data into multiple items, and more. It additionally allows you to password protect your data and attach digital signatures to files. Key features of Explzh: Explorer-like GUI and operability. LHA, ZIP (ZIPX), JAR, CAB, RAR, TAR, TAR.XXX, 7z, ARJ, WIM, CHM, PE, HFS, NSIS Format Installer, ISO, InstallShield, MSI, and several other formats... Support for more archive formats by introducing the integrated archiver DLL. Self-extracting archive creation function that can create high-performance automatic installers. Digital signature addition function to created self-extracting archive. Office 2007 or later document compression / image optimization re-archiving function. Supports compression and decompression of Unicode file names. Supports compression and expansion exceeding 4GB. AES encryption function. You can create a robust secure ZIP encryption archive. Thumbnail function of image file. In-library file search function. . Equipped with archive file conversion function. File split function. The split file has a self-consolidation function, and can concatenate files larger than 4GB. (No need for batch file or connection software) UU (XX) Encode, Base64 decode function. FTP upload function Supports Windows 11 shell integration extended context menu. Explzh 9.81 changelog: Improved to send update notifications to the shell when making changes such as additional compression to existing zip and 7-zip files. This also updates the Explorer view of the open file in real time. (If the drop target feature is enabled, you can easily create an encrypted ZIP by dragging and dropping onto the ZIP icon while holding down the Ctrl key.) When the zip drop target setting is enabled, the "Compressed (zipped) Folder" item will be added to the "New" shell context menu if it does not already exist. Password manager bug fix: Fixed a bug that caused the app to crash when reading password.dat (password data) when changing authentication method. Updated to Visual Studio 2022 v.17.14.9. Download: Explzh 64-bit | Explzh 32-bit | ~6.0 MB (Freeware) Download: Explzh ARM64 | 5.9 MB View: Explzh Home Page | Screenshot | Themes Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Have to get that indoctrination in early I guess
    • The reason why I'm using as much portable software as possible.
    • Personally, I used to be a big fan of the Evo drives but have found the Corsair MP 700 is just a bit faster and seems to fit my needs just as well. 
  • Recent Achievements

    • One Month Later
      Johnny Mrkvička earned a badge
      One Month Later
    • Week One Done
      Sender88 earned a badge
      Week One Done
    • Dedicated
      Daniel Pinto earned a badge
      Dedicated
    • Explorer
      DougQuaid went up a rank
      Explorer
    • One Month Later
      MIghty Haul earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      605
    2. 2
      Michael Scrip
      200
    3. 3
      ATLien_0
      191
    4. 4
      +FloatingFatMan
      138
    5. 5
      Xenon
      127
  • Tell a friend

    Love Neowin? Tell a friend!