• 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

    • QOwnNotes 25.6.2 by Razvan Serea QOwnNotes is a open source (GPL) plain-text file notepad with markdown support and todo list manager for GNU/Linux, Mac OS X and Windows, that (optionally) works together with the notes application of ownCloud (or Nextcloud). So you are able to write down your thoughts with QOwnNotes and edit or search for them later from your mobile device (like with CloudNotes) or the ownCloud web-service. The notes are stored as plain text files and you can sync them with your ownCloud sync client. Of course other software, like Dropbox, Syncthing, Seafile or BitTorrent Sync can be used too. Features: the notes folder can be freely chosen (multiple note folders can be used) sub-string searching of notes is possible and search results are highlighted in the notes application can be operated with customizable keyboard shortcuts external changes of note files are watched (notes or note list are reloaded) older versions of your notes can be restored from your ownCloud server trashed notes can be restored from your ownCloud server differences between current note and externally changed note are showed in a dialog markdown highlighting of notes and a markdown preview mode notes are getting their name from the first line of the note text (just like in the ownCloud notes web-application) and the note text files are automatically renamed, if the the first line changes compatible with the notes web-application of ownCloud and mobile ownCloud notes applications compatible with ownCloud's selective sync feature by supporting an unlimited amount of note folders with the ability to choose the respective folder on your server manage your ownCloud todo lists (ownCloud tasks or Tasks Plus / Calendar Plus) or use an other CalDAV server to sync your tasks to encryption of notes (AES-256 is built in or you can use custom encryption methods like Keybase.io (encryption-keybase.qml) or PGP (encryption-pgp.qml)) dark mode theme support theming support for the markdown syntax highlighting all panels can be placed wherever you want, they can even float or stack (fully dockable) support for freedesktop theme icons, you can use QOwnNotes with your native desktop icons and with your favorite dark desktop theme support for hierarchical note tagging and note subfolders support for sharing notes on your ownCloud server portable mode for carrying QOwnNotes around on USB sticks Evernote import QOwnNotes is available in many different languages like English, German, French, Polish, Chinese, Japanese, Russian, Portuguese, Hungarian, Dutch and Spanish Changes in QOwnNotes 25.6.2: The Find action dialog is now working again (for #3294) Added more French translation (thank you, jd-develop) Download: QOwnNotes 25.6.2 | 37.3 MB (Open Source) Download: QOwnNotes for Other Operating Systems View: QOwnNotes Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • So it’s fine he scams people to troll others? 🙄 This is a repeat of his watch fiasco.
    • That explains my recent issues with classic Outlook. I can see the FORMS2 folder has resolved the issue on my system.
    • Brave 1.79.126 by Razvan Serea Brave Browser is a lightning-fast, secure web browser that stands out from the competition with its focus on privacy, security, and speed. With features like HTTPS Everywhere and built-in tracker blocking, Brave keeps your online activities safe from prying eyes. Brave is one of the safest browsers on the market today. It blocks third-party data storage. It protects from browser fingerprinting. And it does all this by default. Speed - Brave is built on Chromium, the same technology that powers Google Chrome, and is optimized for speed, providing a fast and responsive browsing experience. Brave Browser also features Brave Rewards, a system that rewards users with Basic Attention Tokens (BAT) for viewing opt-in ads. This innovative system provides an alternative revenue model for content creators and a way to support the Brave community. Brave 1.79.126 changelog: Fixed crash when clicking on shields panel in certain cases. Fixed crash on navigation when a Google sign-in request has been triggered. (#46769) Fixed crash when Leo generates empty list when clicking on “Suggest questions” while using BYOM (Bring Your Own Model). (#46843) Fixed issue importing from Trezor wallet when Trezor Connect is outdated. (#46660) Upgraded Chromium to 137.0.7151.119. (#46911) Download: Brave Browser 64-bit | 1.2 MB (Freeware) Download: Brave Browser 32-bit View: Brave Homepage | Offline Installers | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • LeafView 3.6.5 by Razvan Serea LeafView is a fast, open-source image viewer built with Electron. It offers a sleek, minimal UI for fast and efficient image browsing. Supporting various formats, LeafView ensures a smooth viewing experience with essential features like zoom, rotation, and slideshow mode. Designed for simplicity and performance, it utilizes hardware acceleration for smooth rendering and supports touch gestures for seamless navigation. LeafView key features: Lightweight & Open-Source – Minimal resource usage with a clean, efficient design Electron-Based – Cross-platform compatibility with modern UI Multiple Image Format Support – Opens JPG, PNG, GIF, BMP, and more Smooth Rendering – Hardware acceleration for fast performance Essential Image Controls – Zoom, rotate, and slideshow mode Touch Gesture Support – Seamless navigation on compatible devices Minimal UI – Focused on simplicity and ease of use LeafView 3.6.5 changelog: Update electron to v36.5.0 Download: LeafView 3.6.5 | Portable | ~100.0 MB (Open Source) View: LeafView Website | Other operating systems | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • First Post
      Fuzz_c earned a badge
      First Post
    • First Post
      TIGOSS earned a badge
      First Post
    • Week One Done
      slackerzz earned a badge
      Week One Done
    • Week One Done
      vivetool earned a badge
      Week One Done
    • Reacting Well
      pnajbar earned a badge
      Reacting Well
  • Popular Contributors

    1. 1
      +primortal
      700
    2. 2
      ATLien_0
      280
    3. 3
      Michael Scrip
      208
    4. 4
      +FloatingFatMan
      196
    5. 5
      Steven P.
      130
  • Tell a friend

    Love Neowin? Tell a friend!