我需要创建如下所示的XML:
<record id="100000000000000000" type="Message">
...a bunch of xml ...
</record>
相反,使用我正在使用的FSsharp代码,我得到了这个:
<record>
<type>Message</type>
<id>118448</id>
...a bunch of xml....
</record>
这就是我目前正在做的事情:
type record( id:int, sr:sender, recipients: recipient array, atts : attachment array, con : conversation, madeDate : creation) =
let mutable id: int = id
let mutable typ = "Message"
let mutable creation = madeDate
let mutable sender = sr
let mutable recipients = recipients
let mutable conversation = con
let mutable attachments = atts
public new() =
record( -1, sender(-1,"Joe","Plumber","Joe@plumber.com"), Array.empty, Array.empty, conversation(), creation())
[<XmlElement("type")>]
member this.Type with get() = typ and set v = typ <- v
[<XmlElementAttribute("id")>]
member this.Id with get() = id and set v = id <- v
[<XmlElement("creation")>]
member this.Creation with get() = creation and set v = creation <- v
[<XmlElement("sender")>]
member this.Sender with get() = sender and set v = sender <- v
[<XmlArrayAttribute("recipients")>]
[<XmlArrayItem(typeof<recipient>, ElementName = "recipient")>]
member this.Recipients with get() = recipients and set v = recipients <- v
[<XmlElement("conversation_info")>]
member this.Conversation with get() = conversation and set v = conversation <- v
[<XmlArrayAttribute("attachments")>]
[<XmlArrayItem(typeof<attachment>, ElementName = "attachment")>]
member this.Attachments with get() = attachments and set v = attachments <- v
答案 0 :(得分:6)
我认为你想要XmlAttributeAttribute
而不是XmlElementAttribute
。
请注意
[<XmlElement>]
和
[<XmlElementAttribute>]
是一样的(就像C#一样)。