2010-11-11 23 views
5

Şöyle XML oluşturmak için bir gereksinim var: Ben kullanıyorum FSsharp koduyla,FSharp kullanarak XML özniteliği (öğe yerine) nasıl oluşturulur?

<record id="100000000000000000" type="Message"> 
    ...a bunch of xml ... 
</record> 

yerine, ben bu alıyorum:

burada
<record> 
    <type>Message</type> 
    <id>118448</id> 
    ...a bunch of xml.... 
</record> 

Ben ne Şu anda yapıyor:

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","[email protected]"), 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 

cevap

6

sana XmlAttributeAttribute yerine XmlElementAttribute istediğini düşünüyorum.

[<XmlElement>] 

ve

[<XmlElementAttribute>] 

(sadece C# gibi) aynı şey olduğunu

Not.

İlgili konular