首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >序列化另一个元素中的0-n元素。

序列化另一个元素中的0-n元素。
EN

Stack Overflow用户
提问于 2011-04-26 19:51:48
回答 2查看 137关注 0票数 2

我有两门这样的课:

代码语言:javascript
复制
public class Product
{
    public string Name { get; set; }
    public int Id { get; set; }
}

public class Category
{
    public string CategoryName { get; set; }
    public List<Product> Products { get; set; }
}

有什么方法可以在分类类上装饰我的产品属性,所以它是这样序列化的吗?

代码语言:javascript
复制
    <Container>
      <Category>
        <CategoryName>Unicorn Stuff</CategoryName>
        <Product>
          <Id>1212</Id>
          <Name>Unicorn Dust</Name>
        </Product>
        <Product>
          <Id>1829</Id>
          <Name>Horn Extension</Name>
        </Product>
        <Product>
          <Id>27373</Id>
          <Name>Facemask with hole</Name>
        </Product>
      </Category>
      <Category>
        <CategoryName>Pixie</CategoryName>
        <Product>
          <Id>222</Id>
          <Name>Pixie Dust</Name>
        </Product>    
      </Category>
    </Container>

请注意,每个类别都有类别元素(类别名称)和0-n产品子元素。

...Or --我必须以更手动的方式生成文档吗?

(这不是我设计xml结构的方式,而是我们生活在一个不完美的世界中)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-26 20:01:31

[XmlElement]属性放在列表中:

代码语言:javascript
复制
public class Category
{
    public string CategoryName { get; set; }
    [XmlElement]
    public List<Product> Products { get; set; }
}
票数 5
EN

Stack Overflow用户

发布于 2011-04-26 19:54:51

我相信XSD.exe可以从您的类中为您创建XSD。然后,您只需使用基本的XmlSerializer来序列化到XSD。

或者,您可以创建XSD,并从XSD生成类。这两种方法都应该有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5795672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档