' DrLOTRO - 2007
Imports System.Xml
Imports System.Xml.XmlNodeType
Structure Records
Dim ID As String
Dim NAME As String
End Structure
Module modXMLAllaParser
Sub Main()
Dim Record As Records()
' Pull XML
Dim objReader As XmlTextReader = New XmlTextReader("http://wow.allakhazam.com/itemlist.xml")
' Ignore whitespace
objReader.WhitespaceHandling = WhitespaceHandling.None
ReDim Record(0)
While objReader.Read
' If node type us a declaration
Dim nType As XmlNodeType = objReader.NodeType
Select Case nType
Case Attribute
Console.WriteLine("Attribute:" + objReader.Name.ToString())
Case Comment
Console.WriteLine("Comment:" + objReader.Name.ToString())
Case Document
Console.WriteLine("Document:" + objReader.Name.ToString())
Case Element
Console.WriteLine("Element:" + objReader.Name.ToString())
objReader.MoveToAttribute("name")
Record(UBound(Record)).NAME = objReader.Value
Console.WriteLine("Value: " + objReader.Value.ToString)
objReader.MoveToAttribute("id")
Record(UBound(Record)).ID = objReader.Value
Console.WriteLine("Value: " + objReader.Value.ToString)
Case Entity
Console.WriteLine("Entity:" + objReader.Name.ToString())
Case Whitespace
Console.WriteLine("WhiteSpace:" + objReader.Name.ToString())
Case XmlNodeType.XmlDeclaration
Console.WriteLine("Declaration:" + objReader.Name.ToString())
Case DocumentFragment
Case DocumentType
Case EndElement
Case EndEntity
Case EntityReference
Case None
Case Notation
Case ProcessingInstruction
Case SignificantWhitespace
Case Text
Case Whitespace
Console.WriteLine("WhiteSpace:" + objReader.Name.ToString())
Case XmlNodeType.XmlDeclaration
Console.WriteLine("Declaration:" + objReader.Name.ToString())
End Select
ReDim Record(UBound(Record) + 1)
End While
MsgBox(UBound(Record))
End Sub
End Module