【问题标题】:.Net Represent xml in class without xsd.Net 在没有 xsd 的类中表示 xml
【发布时间】:2010-02-01 13:52:55
【问题描述】:

我将如何表示这样的事情

<product>
   <sku>12452</sku>
   <attribute name="details">good stuff</attribute>
   <attribute name="qty">5</attribute>
</product>

用于我的 WCF 服务?不知道如何定义唯一不同的是“名称”的多个属性。

我需要将此正确设置为 DataMember,以便将 xml 反序列化到其中。

sku 类似于:

[DataMember(Name = "sku")]
public string sku;

我会为这两个属性使用什么?

【问题讨论】:

    标签: xml wcf serialization datamember


    【解决方案1】:

    您无法使用 DataContracts 执行此操作,因为 DataContract 序列化程序不支持 XML 属性(仅支持元素)。如果您确实需要使用该架构生成消息,则必须改为 use XmlSerializer

    【讨论】:

    • 如果 DataContracts 较新,为什么它们不支持属性?它们是否已弃用?
    • @Chris:出于性能原因,DataContractSerializer 不支持 XML 节点上的属性。不支持这些会使 DCS 在同一文档上比 XmlSerializer 快 10-15%。
    猜你喜欢
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多