Just a heads up on one of the new features in VB9 (aka VB.Net 2008) : XML Literals
What this means is that you can code your XML (and XLinq) directly in VB and have the compiler worry about all the ghastly DOM navigation that goes on behind the scenes. To see what this means I defer to this excellent example from Beth Massi:"XML Literals" is the ability to embed XML syntax directly into VB code. For example,
Code:Dim ele as XElement = <Customer/>
Any thoughts?Code:Private Sub CreateClass() Dim CustomerSchema As XDocument = XDocument.Load(CurDir() & "\customer.xsd") Dim fields = From field In CustomerSchema...<xs:element> _ Where field.@type IsNot Nothing _ Select Name = field.@name, Type = field.@type Dim customer = <customer> Public Class Customer <%= From field In fields Select <f> Private m_<%= field.Name %> As <%= GetVBPropType(field.Type) %></f>.Value %> <%= From field In fields Select <p> Public Property <%= field.Name %> As <%= GetVBPropType(field.Type) %> Get Return m_<%= field.Name %> End Get Set(ByVal value As <%= GetVBPropType(field.Type) %>) m_<%= field.Name %> = value End Set End Property</p>.Value %> End Class</customer> My.Computer.FileSystem.WriteAllText("Customer.vb", customer.Value, _ False, System.Text.Encoding.ASCII) End Sub Private Function GetVBPropType(ByVal xmlType As String) As String Select Case xmlType Case "xs:string" Return "String" Case "xs:int" Return "Integer" Case "xs:decimal" Return "Decimal" Case "xs:boolean" Return "Boolean" Case "xs:dateTime", "xs:date" Return "Date" Case Else Return "'TODO: Define Type" End Select End Function




Reply With Quote