Chris Jones
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
CLASS
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.
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
hmm, time to make a decision: Do you want to use JSON or XML? Both makes not really sense.
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.
ASKER
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
ASKER
and access it this way
Console.Write(subitem("User"))
Console.Write(subitem("Task"))
ETC.......
ASKER
Also, this should fix our two technology issue
But if you can help me with just the straight XML I would be grateful.
Dim doc As New XmlDocument()
doc.LoadXml(xml)
Dim json As String = JsonConvert.SerializeXmlNode(doc)
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?
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?
ASKER
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.
Take a look at XDocument. Then you can use Linq or XPath to query it.
ASKER
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
ASKER
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()
ASKER
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
Does your data (responseFromServer) contain some sensitive information? If not, post it.
ASKER
it does contain sensitive data but the schema is attached
Timecard.xsd
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
ASKER
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'.
Severity Code Description Project File Line Suppression State
Error BC30456 'XPathSelectElement' is not a member of 'XDocument'.
ASKER
oh i think i needed to import that reference.
ASKER
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()
ASKER
ok i have this working but its only pulling 1 record out of 217
ASKER
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
This question needs an answer!
Become an EE member today
7 DAY FREE TRIALMembers 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.