Link to home
Start Free TrialLog in
Avatar of Chris Jones
Chris JonesFlag for United States of America

asked on

XML array JSON error in code

Hello,

i have a class that I am using JSON to read the data from. I am getting this error but not quite sure why when I am not seeing an array in my class

ERROR
An unhandled exception of type 'Newtonsoft.Json.JsonSerializationException' occurred in Newtonsoft.Json.dll

Additional information: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1[SpringAhead.Timecard]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.

To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.

Path '?xml', line 1, position 8.

Open in new window



CLASS
Imports System.Xml.Serialization
''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
<System.Xml.Serialization.XmlRootAttribute([Namespace]:="", IsNullable:=True)>
Partial Public Class SA

    Private timecardField As Timecard()

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute("Timecard", IsNullable:=True)>
    Public Property Timecard() As Timecard()
        Get
            Return Me.timecardField
        End Get
        Set
            Me.timecardField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class Timecard
    Inherits LogSetters

    Private idField As Integer

    Private createdDateField As System.Nullable(Of System.DateTime)

    Private createdUserIdField As System.Nullable(Of Integer)

    Private modifiedDateField As System.Nullable(Of System.DateTime)

    Private modifiedUserIdField As System.Nullable(Of Integer)

    Private submitField As Boolean

    Private submitDateField As System.Nullable(Of System.DateTime)

    Private submitUserField As SimpleUserDto

    Private rowField As Integer

    Private userField As SimpleUserDto

    Private timecardDateField As System.Nullable(Of System.DateTime)

    Private projectField As Project

    Private taskField As Task

    Private timeTypeField As TimeType

    Private hoursAdjustField As Double

    Private hoursBreakField As Double

    Private hoursDayField As Double

    Private approvedStatusField As ApprovalStatus

    Private approvedUserField As SimpleUserDto

    Private approvedTextField As String

    Private dateApprovedField As System.Nullable(Of System.DateTime)

    Private processIdField As Integer

    Private processUserField As SimpleUserDto

    Private processDateField As System.Nullable(Of System.DateTime)

    Private billableIdField As Integer

    Private billableUserField As SimpleUserDto

    Private billableDateField As System.Nullable(Of System.DateTime)

    Private payableIdField As Integer

    Private payableUserField As SimpleUserDto

    Private payableDateField As System.Nullable(Of System.DateTime)

    Private invoicedDateField As System.Nullable(Of System.DateTime)

    Private invoicedNumField As String

    Private billRateBaseField As Double

    Private billRateMultField As Double

    Private payRateBaseField As Double

    Private payRateMultField As Double

    Private itemField As Item

    ''' <remarks/>
    Public Property Id() As Integer
        Get
            Return Me.idField
        End Get
        Set
            Me.idField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property CreatedDate() As System.Nullable(Of System.DateTime)
        Get
            Return Me.createdDateField
        End Get
        Set
            Me.createdDateField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property CreatedUserId() As System.Nullable(Of Integer)
        Get
            Return Me.createdUserIdField
        End Get
        Set
            Me.createdUserIdField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property ModifiedDate() As System.Nullable(Of System.DateTime)
        Get
            Return Me.modifiedDateField
        End Get
        Set
            Me.modifiedDateField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property ModifiedUserId() As System.Nullable(Of Integer)
        Get
            Return Me.modifiedUserIdField
        End Get
        Set
            Me.modifiedUserIdField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property Submit() As Boolean
        Get
            Return Me.submitField
        End Get
        Set
            Me.submitField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property SubmitDate() As System.Nullable(Of System.DateTime)
        Get
            Return Me.submitDateField
        End Get
        Set
            Me.submitDateField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property SubmitUser() As SimpleUserDto
        Get
            Return Me.submitUserField
        End Get
        Set
            Me.submitUserField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property Row() As Integer
        Get
            Return Me.rowField
        End Get
        Set
            Me.rowField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property User() As SimpleUserDto
        Get
            Return Me.userField
        End Get
        Set
            Me.userField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property TimecardDate() As System.Nullable(Of System.DateTime)
        Get
            Return Me.timecardDateField
        End Get
        Set
            Me.timecardDateField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property Project() As Project
        Get
            Return Me.projectField
        End Get
        Set
            Me.projectField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property Task() As Task
        Get
            Return Me.taskField
        End Get
        Set
            Me.taskField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property TimeType() As TimeType
        Get
            Return Me.timeTypeField
        End Get
        Set
            Me.timeTypeField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property HoursAdjust() As Double
        Get
            Return Me.hoursAdjustField
        End Get
        Set
            Me.hoursAdjustField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property HoursBreak() As Double
        Get
            Return Me.hoursBreakField
        End Get
        Set
            Me.hoursBreakField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property HoursDay() As Double
        Get
            Return Me.hoursDayField
        End Get
        Set
            Me.hoursDayField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ApprovedStatus() As ApprovalStatus
        Get
            Return Me.approvedStatusField
        End Get
        Set
            Me.approvedStatusField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ApprovedUser() As SimpleUserDto
        Get
            Return Me.approvedUserField
        End Get
        Set
            Me.approvedUserField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ApprovedText() As String
        Get
            Return Me.approvedTextField
        End Get
        Set
            Me.approvedTextField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property DateApproved() As System.Nullable(Of System.DateTime)
        Get
            Return Me.dateApprovedField
        End Get
        Set
            Me.dateApprovedField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ProcessId() As Integer
        Get
            Return Me.processIdField
        End Get
        Set
            Me.processIdField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ProcessUser() As SimpleUserDto
        Get
            Return Me.processUserField
        End Get
        Set
            Me.processUserField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property ProcessDate() As System.Nullable(Of System.DateTime)
        Get
            Return Me.processDateField
        End Get
        Set
            Me.processDateField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property BillableId() As Integer
        Get
            Return Me.billableIdField
        End Get
        Set
            Me.billableIdField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property BillableUser() As SimpleUserDto
        Get
            Return Me.billableUserField
        End Get
        Set
            Me.billableUserField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property BillableDate() As System.Nullable(Of System.DateTime)
        Get
            Return Me.billableDateField
        End Get
        Set
            Me.billableDateField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property PayableId() As Integer
        Get
            Return Me.payableIdField
        End Get
        Set
            Me.payableIdField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property PayableUser() As SimpleUserDto
        Get
            Return Me.payableUserField
        End Get
        Set
            Me.payableUserField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property PayableDate() As System.Nullable(Of System.DateTime)
        Get
            Return Me.payableDateField
        End Get
        Set
            Me.payableDateField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property InvoicedDate() As System.Nullable(Of System.DateTime)
        Get
            Return Me.invoicedDateField
        End Get
        Set
            Me.invoicedDateField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property InvoicedNum() As String
        Get
            Return Me.invoicedNumField
        End Get
        Set
            Me.invoicedNumField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property BillRateBase() As Double
        Get
            Return Me.billRateBaseField
        End Get
        Set
            Me.billRateBaseField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property BillRateMult() As Double
        Get
            Return Me.billRateMultField
        End Get
        Set
            Me.billRateMultField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property PayRateBase() As Double
        Get
            Return Me.payRateBaseField
        End Get
        Set
            Me.payRateBaseField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property PayRateMult() As Double
        Get
            Return Me.payRateMultField
        End Get
        Set
            Me.payRateMultField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property Item() As Item
        Get
            Return Me.itemField
        End Get
        Set
            Me.itemField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class SimpleUserDto
    Inherits DtoBase

    Private loginNameField As String

    Private firstNameField As String

    Private middleInitialField As String

    Private lastNameField As String

    Private initialsField As String

    Private employeeTypeField As EmployeeType

    ''' <remarks/>
    Public Property LoginName() As String
        Get
            Return Me.loginNameField
        End Get
        Set
            Me.loginNameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property FirstName() As String
        Get
            Return Me.firstNameField
        End Get
        Set
            Me.firstNameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property MiddleInitial() As String
        Get
            Return Me.middleInitialField
        End Get
        Set
            Me.middleInitialField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property LastName() As String
        Get
            Return Me.lastNameField
        End Get
        Set
            Me.lastNameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property Initials() As String
        Get
            Return Me.initialsField
        End Get
        Set
            Me.initialsField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property EmployeeType() As EmployeeType
        Get
            Return Me.employeeTypeField
        End Get
        Set
            Me.employeeTypeField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
Public Enum EmployeeType

    ''' <remarks/>
    Internal

    ''' <remarks/>
    Hourly

    ''' <remarks/>
    Salary

    ''' <remarks/>
    Contractor

    ''' <remarks/>
    CorpToCorp

    ''' <remarks/>
    Client
End Enum

''' <remarks/>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(SimpleUserDto))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Project))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Task))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Item))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(InvoiceAccount))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType([Class]))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(TimeType))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(PayrollItem))>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class DtoBase
    Inherits LogSetters

    Private idField As System.Nullable(Of Integer)

    Private activeField As Boolean

    Private xidField As String

    Private createdDateField As System.DateTime

    Private createdUserIdField As Integer

    Private modifiedDateField As System.DateTime

    Private modifiedUserIdField As Integer

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property Id() As System.Nullable(Of Integer)
        Get
            Return Me.idField
        End Get
        Set
            Me.idField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property Active() As Boolean
        Get
            Return Me.activeField
        End Get
        Set
            Me.activeField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property Xid() As String
        Get
            Return Me.xidField
        End Get
        Set
            Me.xidField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property CreatedDate() As System.DateTime
        Get
            Return Me.createdDateField
        End Get
        Set
            Me.createdDateField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property CreatedUserId() As Integer
        Get
            Return Me.createdUserIdField
        End Get
        Set
            Me.createdUserIdField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ModifiedDate() As System.DateTime
        Get
            Return Me.modifiedDateField
        End Get
        Set
            Me.modifiedDateField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ModifiedUserId() As Integer
        Get
            Return Me.modifiedUserIdField
        End Get
        Set
            Me.modifiedUserIdField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(DtoBase))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(SimpleUserDto))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Project))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Task))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Item))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(InvoiceAccount))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType([Class]))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(TimeType))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(PayrollItem))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Timecard))>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class LogSetters
    Inherits ContextBoundObject
End Class

''' <remarks/>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(LogSetters))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(DtoBase))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(SimpleUserDto))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Project))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Task))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Item))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(InvoiceAccount))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType([Class]))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(TimeType))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(PayrollItem))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Timecard))>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public MustInherit Class ContextBoundObject
    Inherits MarshalByRefObject
End Class

''' <remarks/>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(ContextBoundObject))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(LogSetters))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(DtoBase))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(SimpleUserDto))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Project))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Task))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Item))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(InvoiceAccount))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType([Class]))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(TimeType))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(PayrollItem))>
<System.Xml.Serialization.XmlIncludeAttribute(GetType(Timecard))>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public MustInherit Class MarshalByRefObject
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class Project
    Inherits DtoBase

    Private nameField As String

    Private shortNameField As String

    Private numberField As String

    Private dateStartField As System.DateTime

    Private dateStopField As System.Nullable(Of System.DateTime)

    ''' <remarks/>
    Public Property Name() As String
        Get
            Return Me.nameField
        End Get
        Set
            Me.nameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ShortName() As String
        Get
            Return Me.shortNameField
        End Get
        Set
            Me.shortNameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property Number() As String
        Get
            Return Me.numberField
        End Get
        Set
            Me.numberField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property DateStart() As System.DateTime
        Get
            Return Me.dateStartField
        End Get
        Set
            Me.dateStartField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property DateStop() As System.Nullable(Of System.DateTime)
        Get
            Return Me.dateStopField
        End Get
        Set
            Me.dateStopField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class Task
    Inherits DtoBase

    Private numberField As String

    Private nameField As String

    Private shortNameField As String

    Private billRateField As System.Nullable(Of Double)

    Private itemField As Item

    Private overtimeItemField As Item

    Private doubletimeItemField As Item

    Private classField As [Class]

    Private payRateField As System.Nullable(Of Double)

    ''' <remarks/>
    Public Property Number() As String
        Get
            Return Me.numberField
        End Get
        Set
            Me.numberField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property Name() As String
        Get
            Return Me.nameField
        End Get
        Set
            Me.nameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ShortName() As String
        Get
            Return Me.shortNameField
        End Get
        Set
            Me.shortNameField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property BillRate() As System.Nullable(Of Double)
        Get
            Return Me.billRateField
        End Get
        Set
            Me.billRateField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property Item() As Item
        Get
            Return Me.itemField
        End Get
        Set
            Me.itemField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property OvertimeItem() As Item
        Get
            Return Me.overtimeItemField
        End Get
        Set
            Me.overtimeItemField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property DoubletimeItem() As Item
        Get
            Return Me.doubletimeItemField
        End Get
        Set
            Me.doubletimeItemField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property [Class]() As [Class]
        Get
            Return Me.classField
        End Get
        Set
            Me.classField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property PayRate() As System.Nullable(Of Double)
        Get
            Return Me.payRateField
        End Get
        Set
            Me.payRateField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class Item
    Inherits DtoBase

    Private nameField As String

    Private descriptionField As String

    Private useDescriptionForBillingField As Boolean

    Private txnDescriptionField As String

    Private incomeAccountField As InvoiceAccount

    Private expenseAccountField As InvoiceAccount

    ''' <remarks/>
    Public Property Name() As String
        Get
            Return Me.nameField
        End Get
        Set
            Me.nameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property Description() As String
        Get
            Return Me.descriptionField
        End Get
        Set
            Me.descriptionField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property UseDescriptionForBilling() As Boolean
        Get
            Return Me.useDescriptionForBillingField
        End Get
        Set
            Me.useDescriptionForBillingField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property TxnDescription() As String
        Get
            Return Me.txnDescriptionField
        End Get
        Set
            Me.txnDescriptionField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property IncomeAccount() As InvoiceAccount
        Get
            Return Me.incomeAccountField
        End Get
        Set
            Me.incomeAccountField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ExpenseAccount() As InvoiceAccount
        Get
            Return Me.expenseAccountField
        End Get
        Set
            Me.expenseAccountField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class InvoiceAccount
    Inherits DtoBase

    Private nameField As String

    Private numberField As String

    Private erpAccountTypeField As ErpAccountType

    Private lastInvoiceNumberField As String

    ''' <remarks/>
    Public Property Name() As String
        Get
            Return Me.nameField
        End Get
        Set
            Me.nameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property Number() As String
        Get
            Return Me.numberField
        End Get
        Set
            Me.numberField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ErpAccountType() As ErpAccountType
        Get
            Return Me.erpAccountTypeField
        End Get
        Set
            Me.erpAccountTypeField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property LastInvoiceNumber() As String
        Get
            Return Me.lastInvoiceNumberField
        End Get
        Set
            Me.lastInvoiceNumberField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
Public Enum ErpAccountType

    ''' <remarks/>
    Income

    ''' <remarks/>
    Accounts_Receivable

    ''' <remarks/>
    Expense

    ''' <remarks/>
    Cost_Of_Goods_Sold

    ''' <remarks/>
    Liability

    ''' <remarks/>
    Bank

    ''' <remarks/>
    Credit_Card

    ''' <remarks/>
    Fixed_Asset

    ''' <remarks/>
    Expense_Other

    ''' <remarks/>
    Accounts_Payable
End Enum

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class [Class]
    Inherits DtoBase

    Private nameField As String

    Private departmentCodeField As String

    ''' <remarks/>
    Public Property Name() As String
        Get
            Return Me.nameField
        End Get
        Set
            Me.nameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property DepartmentCode() As String
        Get
            Return Me.departmentCodeField
        End Get
        Set
            Me.departmentCodeField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class TimeType
    Inherits DtoBase

    Private nameField As String

    Private shortNameField As String

    Private billField As System.Nullable(Of Boolean)

    Private billMultiplierField As System.Nullable(Of Decimal)

    Private notAccruableField As Boolean

    Private payField As System.Nullable(Of Boolean)

    Private payCodeField As String

    Private accountingCodeField As String

    Private payMultiplierField As System.Nullable(Of Decimal)

    Private payrollItemField As PayrollItem

    Private payrollItemForSalaryField As PayrollItem

    ''' <remarks/>
    Public Property Name() As String
        Get
            Return Me.nameField
        End Get
        Set
            Me.nameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property ShortName() As String
        Get
            Return Me.shortNameField
        End Get
        Set
            Me.shortNameField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property Bill() As System.Nullable(Of Boolean)
        Get
            Return Me.billField
        End Get
        Set
            Me.billField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property BillMultiplier() As System.Nullable(Of Decimal)
        Get
            Return Me.billMultiplierField
        End Get
        Set
            Me.billMultiplierField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property NotAccruable() As Boolean
        Get
            Return Me.notAccruableField
        End Get
        Set
            Me.notAccruableField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property Pay() As System.Nullable(Of Boolean)
        Get
            Return Me.payField
        End Get
        Set
            Me.payField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property PayCode() As String
        Get
            Return Me.payCodeField
        End Get
        Set
            Me.payCodeField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property AccountingCode() As String
        Get
            Return Me.accountingCodeField
        End Get
        Set
            Me.accountingCodeField = Value
        End Set
    End Property

    ''' <remarks/>
    <System.Xml.Serialization.XmlElementAttribute(IsNullable:=True)>
    Public Property PayMultiplier() As System.Nullable(Of Decimal)
        Get
            Return Me.payMultiplierField
        End Get
        Set
            Me.payMultiplierField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property PayrollItem() As PayrollItem
        Get
            Return Me.payrollItemField
        End Get
        Set
            Me.payrollItemField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property PayrollItemForSalary() As PayrollItem
        Get
            Return Me.payrollItemForSalaryField
        End Get
        Set
            Me.payrollItemForSalaryField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
<System.Diagnostics.DebuggerStepThroughAttribute>
<System.ComponentModel.DesignerCategoryAttribute("code")>
Partial Public Class PayrollItem
    Inherits DtoBase

    Private nameField As String

    Private typeField As PayrollItemType

    ''' <remarks/>
    Public Property Name() As String
        Get
            Return Me.nameField
        End Get
        Set
            Me.nameField = Value
        End Set
    End Property

    ''' <remarks/>
    Public Property Type() As PayrollItemType
        Get
            Return Me.typeField
        End Get
        Set
            Me.typeField = Value
        End Set
    End Property
End Class

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
Public Enum PayrollItemType

    ''' <remarks/>
    NotInUse

    ''' <remarks/>
    Hourly

    ''' <remarks/>
    Salary
End Enum

''' <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")>
<System.SerializableAttribute>
Public Enum ApprovalStatus

    ''' <remarks/>
    Pending

    ''' <remarks/>
    Approved

    ''' <remarks/>
    Rejected
End Enum

Open in new window

Avatar of ste5an
ste5an
Flag of Germany image

hmm, time to make a decision: Do you want to use JSON or XML? Both makes not really sense.
Avatar of Chris Jones

ASKER

i get the data back from a rest service as XML but it's easier for me to pare the data JSON.
Well as it is XML, why or how do you think you can handle this as JSON? These are different formats and technologies.
if I had a JSON string i could do something like this

            Dim o As JObject = JObject.Parse(responseFromServer)
            Dim results As List(Of JToken) = o.Children().ToList
            For Each item As JProperty In results
                item.CreateReader()
                If item.Value.Type = JTokenType.Array Then
                    For Each subitem As JObject In item.Values

                    next
               end if
           next

Open in new window

and access it this way
       Console.Write(subitem("User"))
       Console.Write(subitem("Task"))
ETC.......

Open in new window

Also, this should fix our two technology issue
Dim doc As New XmlDocument()
doc.LoadXml(xml)

Dim json As String = JsonConvert.SerializeXmlNode(doc)

Open in new window


But if you can help me with just the straight XML I would be grateful.
Okay, I still don't see, what you're trying to do..

Can you please rephrase your question and describe what you want to do?

Or are you running the code from #42170811 and you get the error mentioned in your OP?
i am using a rest web service to get data from an external system that system returns XML. I created a class based on the XML that will come back from the system. I then wanted to parse the data to get information from each XML element.
Okay, thus I guess your comment "but it's easier for me to pare the data JSON." means that you have problems reading the XML.

Take a  look at XDocument. Then you can use Linq or XPath to query it.
i tried the following but it does not seem to go inside of the loop at all but the response from the server has XML in it




.
            Dim xelement As XElement = XElement.Load(responseFromServer)
            Dim Timecards As IEnumerable(Of XElement) = xelement.Elements()
            ' Read the entire XML
            For Each Timecard In Timecards
                Console.WriteLine(Timecard.Element("User").Value)
            Next Timecard

Open in new window

this code is giving me an error around New with saying it's expecting the end of the statement
        Dim TimecardElement = XElement.Parse(xml)
            Dim TimecardList = (From message In TimecardElement.Elements("Timecard")New With { _
	        Key .Subclass = SA.Attribute("User").Value,
            Key .Context = SA.Attribute("Task").Value _
            }).ToList()

Open in new window

this example just returns OK
            Dim x As XElement = XElement.Parse(responseFromServer)
            Dim Timecard As IEnumerable(Of XElement) = x.Elements()
            ' Read the entire XML
            For Each TimecardVAL In Timecard
                Console.WriteLine(TimecardVAL.Element("LoginName").Value)
            Next TimecardVAL

Open in new window

Does your data (responseFromServer) contain some sensitive information? If not, post it.
it does contain sensitive data but the schema is attached
Timecard.xsd
E.g

Imports System.Xml.XPath

Module Module1

    Sub Main()

        Dim doc As XDocument = ResponseFromServer()

        For Each timecard In doc.XPathSelectElements("/SpringAhead/Timecard")
            Console.WriteLine("Timecard id: {0}", timecard.Element("Id").Value)
            Console.WriteLine("User login name: {0}", timecard.XPathSelectElement("User/LoginName").Value)
            For Each task In timecard.XPathSelectElements("Task")
                Console.WriteLine("Task id: {0}", task.Element("Id").Value)
            Next task
        Next timecard

        Console.WriteLine("Done.")
        Console.ReadLine()

    End Sub

    Function ResponseFromServer() As XDocument
        ResponseFromServer =
        <?xml version="1.0" encoding="utf-8"?>
        <SpringAhead>
            <Timecard>
                <Id>123</Id>
                <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                <CreatedUserId>123</CreatedUserId>
                <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                <ModifiedUserId>123</ModifiedUserId>
                <Submit>true</Submit>
                <SubmitDate>2012-12-13T12:12:12</SubmitDate>
                <SubmitUser>
                    <Id>123</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <LoginName>str1234</LoginName>
                    <FirstName>str1234</FirstName>
                    <MiddleInitial>str1234</MiddleInitial>
                    <LastName>str1234</LastName>
                    <Initials>str1234</Initials>
                    <EmployeeType>Internal</EmployeeType>
                </SubmitUser>
                <Row>123</Row>
                <User>
                    <Id>123</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <LoginName>str1234</LoginName>
                    <FirstName>str1234</FirstName>
                    <MiddleInitial>str1234</MiddleInitial>
                    <LastName>str1234</LastName>
                    <Initials>str1234</Initials>
                    <EmployeeType>Internal</EmployeeType>
                </User>
                <TimecardDate>2012-12-13T12:12:12</TimecardDate>
                <Project>
                    <Id>123</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <Name>str1234</Name>
                    <ShortName>str1234</ShortName>
                    <Number>str1234</Number>
                    <DateStart>2012-12-13T12:12:12</DateStart>
                    <DateStop>2012-12-13T12:12:12</DateStop>
                </Project>
                <Task>
                    <Id>123</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <Number>str1234</Number>
                    <Name>str1234</Name>
                    <ShortName>str1234</ShortName>
                    <BillRate>3.1415926535</BillRate>
                    <Item>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <Description>str1234</Description>
                        <UseDescriptionForBilling>true</UseDescriptionForBilling>
                        <TxnDescription>str1234</TxnDescription>
                        <IncomeAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </IncomeAccount>
                        <ExpenseAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </ExpenseAccount>
                    </Item>
                    <OvertimeItem>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <Description>str1234</Description>
                        <UseDescriptionForBilling>true</UseDescriptionForBilling>
                        <TxnDescription>str1234</TxnDescription>
                        <IncomeAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </IncomeAccount>
                        <ExpenseAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </ExpenseAccount>
                    </OvertimeItem>
                    <DoubletimeItem>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <Description>str1234</Description>
                        <UseDescriptionForBilling>true</UseDescriptionForBilling>
                        <TxnDescription>str1234</TxnDescription>
                        <IncomeAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </IncomeAccount>
                        <ExpenseAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </ExpenseAccount>
                    </DoubletimeItem>
                    <Class>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <DepartmentCode>str1234</DepartmentCode>
                    </Class>
                    <PayRate>3.1415926535</PayRate>
                </Task>
                <Task>
                    <Id>23423</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <Number>str1234</Number>
                    <Name>str1234</Name>
                    <ShortName>str1234</ShortName>
                    <BillRate>3.1415926535</BillRate>
                    <Item>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <Description>str1234</Description>
                        <UseDescriptionForBilling>true</UseDescriptionForBilling>
                        <TxnDescription>str1234</TxnDescription>
                        <IncomeAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </IncomeAccount>
                        <ExpenseAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </ExpenseAccount>
                    </Item>
                    <OvertimeItem>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <Description>str1234</Description>
                        <UseDescriptionForBilling>true</UseDescriptionForBilling>
                        <TxnDescription>str1234</TxnDescription>
                        <IncomeAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </IncomeAccount>
                        <ExpenseAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </ExpenseAccount>
                    </OvertimeItem>
                    <DoubletimeItem>
                        <Id>32123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <Description>str1234</Description>
                        <UseDescriptionForBilling>true</UseDescriptionForBilling>
                        <TxnDescription>str1234</TxnDescription>
                        <IncomeAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </IncomeAccount>
                        <ExpenseAccount>
                            <Id>123</Id>
                            <Active>true</Active>
                            <Xid>str1234</Xid>
                            <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                            <CreatedUserId>123</CreatedUserId>
                            <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                            <ModifiedUserId>123</ModifiedUserId>
                            <Name>str1234</Name>
                            <Number>str1234</Number>
                            <ErpAccountType>Income</ErpAccountType>
                            <LastInvoiceNumber>str1234</LastInvoiceNumber>
                        </ExpenseAccount>
                    </DoubletimeItem>
                    <Class>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <DepartmentCode>str1234</DepartmentCode>
                    </Class>
                    <PayRate>3.1415926535</PayRate>
                </Task>
                <TimeType>
                    <Id>123</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <Name>str1234</Name>
                    <ShortName>str1234</ShortName>
                    <Bill>true</Bill>
                    <BillMultiplier>123.45</BillMultiplier>
                    <NotAccruable>true</NotAccruable>
                    <Pay>true</Pay>
                    <PayCode>str1234</PayCode>
                    <AccountingCode>str1234</AccountingCode>
                    <PayMultiplier>123.45</PayMultiplier>
                    <PayrollItem>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <Type>NotInUse</Type>
                    </PayrollItem>
                    <PayrollItemForSalary>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <Type>NotInUse</Type>
                    </PayrollItemForSalary>
                </TimeType>
                <HoursAdjust>3.1415926535</HoursAdjust>
                <HoursBreak>3.1415926535</HoursBreak>
                <HoursDay>3.1415926535</HoursDay>
                <ApprovedStatus>Pending</ApprovedStatus>
                <ApprovedUser>
                    <Id>123</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <LoginName>str1234</LoginName>
                    <FirstName>str1234</FirstName>
                    <MiddleInitial>str1234</MiddleInitial>
                    <LastName>str1234</LastName>
                    <Initials>str1234</Initials>
                    <EmployeeType>Internal</EmployeeType>
                </ApprovedUser>
                <ApprovedText>str1234</ApprovedText>
                <DateApproved>2012-12-13T12:12:12</DateApproved>
                <ProcessId>123</ProcessId>
                <ProcessUser>
                    <Id>123</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <LoginName>str1234</LoginName>
                    <FirstName>str1234</FirstName>
                    <MiddleInitial>str1234</MiddleInitial>
                    <LastName>str1234</LastName>
                    <Initials>str1234</Initials>
                    <EmployeeType>Internal</EmployeeType>
                </ProcessUser>
                <ProcessDate>2012-12-13T12:12:12</ProcessDate>
                <BillableId>123</BillableId>
                <BillableUser>
                    <Id>123</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <LoginName>str1234</LoginName>
                    <FirstName>str1234</FirstName>
                    <MiddleInitial>str1234</MiddleInitial>
                    <LastName>str1234</LastName>
                    <Initials>str1234</Initials>
                    <EmployeeType>Internal</EmployeeType>
                </BillableUser>
                <BillableDate>2012-12-13T12:12:12</BillableDate>
                <PayableId>123</PayableId>
                <PayableUser>
                    <Id>123</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <LoginName>str1234</LoginName>
                    <FirstName>str1234</FirstName>
                    <MiddleInitial>str1234</MiddleInitial>
                    <LastName>str1234</LastName>
                    <Initials>str1234</Initials>
                    <EmployeeType>Internal</EmployeeType>
                </PayableUser>
                <PayableDate>2012-12-13T12:12:12</PayableDate>
                <InvoicedDate>2012-12-13T12:12:12</InvoicedDate>
                <InvoicedNum>str1234</InvoicedNum>
                <BillRateBase>3.1415926535</BillRateBase>
                <BillRateMult>3.1415926535</BillRateMult>
                <PayRateBase>3.1415926535</PayRateBase>
                <PayRateMult>3.1415926535</PayRateMult>
                <Item>
                    <Id>123</Id>
                    <Active>true</Active>
                    <Xid>str1234</Xid>
                    <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                    <CreatedUserId>123</CreatedUserId>
                    <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                    <ModifiedUserId>123</ModifiedUserId>
                    <Name>str1234</Name>
                    <Description>str1234</Description>
                    <UseDescriptionForBilling>true</UseDescriptionForBilling>
                    <TxnDescription>str1234</TxnDescription>
                    <IncomeAccount>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <Number>str1234</Number>
                        <ErpAccountType>Income</ErpAccountType>
                        <LastInvoiceNumber>str1234</LastInvoiceNumber>
                    </IncomeAccount>
                    <ExpenseAccount>
                        <Id>123</Id>
                        <Active>true</Active>
                        <Xid>str1234</Xid>
                        <CreatedDate>2012-12-13T12:12:12</CreatedDate>
                        <CreatedUserId>123</CreatedUserId>
                        <ModifiedDate>2012-12-13T12:12:12</ModifiedDate>
                        <ModifiedUserId>123</ModifiedUserId>
                        <Name>str1234</Name>
                        <Number>str1234</Number>
                        <ErpAccountType>Income</ErpAccountType>
                        <LastInvoiceNumber>str1234</LastInvoiceNumber>
                    </ExpenseAccount>
                </Item>
            </Timecard>
        </SpringAhead>
    End Function
End Module

Open in new window

it looks like I get an error I tried to fix it but I think that method can't be used with XDocument writer

Severity      Code      Description      Project      File      Line      Suppression State
Error      BC30456      'XPathSelectElement' is not a member of 'XDocument'.
oh i think i needed to import that reference.
Ok the code ran but the only think it returns now is OK then Done I debugged the code and it looks similar to what the previous code returned.
            Dim Doc = XDocument.Parse(responseFromServer)
            For Each timecard In Doc.XPathSelectElements("/SpringAhead/Timecard")
                Console.WriteLine("Timecard id: {0}", timecard.Element("Id").Value)
                Console.WriteLine("User login name: {0}", timecard.XPathSelectElement("User/LoginName").Value)
                For Each task In timecard.XPathSelectElements("Task")
                    Console.WriteLine("Task id: {0}", task.Element("Id").Value)
                Next task
            Next timecard

            Console.WriteLine("Done.")
            Console.ReadLine()

Open in new window

ok i have this working but its only pulling 1 record out of 217
I made a little modification to place each element section into a list then loop through it.

            Dim Doc = XDocument.Parse(responseFromServer)


            Dim list As IEnumerable(Of XElement) = Doc.XPathSelectElements("/SpringAhead/List/Timecard")
            For Each h0 As XElement In list
                Console.WriteLine(h0.Element("Id"))
                Console.WriteLine("User login name: {0}", h0.XPathSelectElement("User/LoginName").Value)
                Console.WriteLine("Project: {0}", h0.XPathSelectElement("Project/Name").Value)
                Console.WriteLine(h0.Element("TimecardDate"))
                Console.WriteLine(h0.Element("HoursDay"))
                Console.WriteLine(h0.Element("Description"))
                Console.WriteLine()
            Next

Open in new window

This question needs an answer!
Become an EE member today
7 DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform.
View membership options
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.