I cannot create multiple VB.NET XML elements with same name in the same level under configuration element. I'm only able to create one attribute
with a name
of "Description1". What exactly am I not understanding?
<configuration name="Default" quantity="1">
<attribute name="Description1" value="1" />
<attribute name="Description2" value="1" />
</configuration>
I have tried to change attribute element to array, but I guess I have no idea what I'm doing.
Public Class transaction
<Xml.Serialization.XmlElement>
Public Property document() As document
<Xml.Serialization.XmlAttribute>
Public Property type() As String
<Xml.Serialization.XmlAttribute>
Public Property [date]() As Integer
<Xml.Serialization.XmlAttribute>
Public Property name() As String
End Class
Public Class document
<Xml.Serialization.XmlAttribute>
Public Property aliasset As String
<Xml.Serialization.XmlAttribute>
Public Property eid As String
<Xml.Serialization.XmlElement>
Public Property configuration As Configuration
End Class
Public Class configuration
<Xml.Serialization.XmlAttribute>
Public Property name As String
<Xml.Serialization.XmlAttribute>
Public Property quantity As Integer
<Xml.Serialization.XmlElement>
Public Property attribute As attribute
End Class
Public Class attribute
<Xml.Serialization.XmlAttribute>
Public Property name As String
<Xml.Serialization.XmlAttribute>
Public Property value As String
End Class
I'm trying to use this with this:
Private Sub Create_button_Click(sender As Object, e As EventArgs) Handles Create_button.Click
Dim cf As New Transactions()
cf.transaction = New transaction() With {.type = "wf_export_document_attributes", .date = 1235456, .name = "QUALITY"}
cf.transaction.document = New document() With {.aliasset = "", .eid = "1234567"}
cf.transaction.document.configuration = New configuration() With {.name = "Default", .quantity = "1"}
cf.transaction.document.configuration.attribute = New attribute() With {.name = "Description", .value = "1"}
cf.transaction.document.configuration.attribute = New attribute() With {.name = "Description2", .value = "1"}
Dim s As New System.Xml.Serialization.XmlSerializer(GetType(Transactions))
Using fs As New System.IO.FileStream("C:\temp\file.xml", System.IO.FileMode.OpenOrCreate)
s.Serialize(fs, cf)
End Using
End Sub