将具有单个属性

时间:2018-02-06 01:56:40

标签: c# xml serialization

我正在尝试序列化一组类以匹配特定的XML模式。

这个模式有很多单个元素项(即它们本身不包含嵌套元素),例如:

<Product>Toy</Product>

问题在于每个元素都可能重复,并且可选地最多包含六个属性,例如:

<Product language="eng>Toy</Product>

我以为我只是为这些元素创建类:

public class Product
{
    [XmlElement("Product")]
    public string Name { get; set; }

    [XmlAttribute("language")]
    public string Language { get; set; }
}

麻烦,我意识到这将是一个问题,它产生的XML输出如下所示:

  <Product>
    <Product>Book</Product>
  </Product>
  <Product language="eng">
    <Product>Toy</Product>
  </Product>

序列化程序正在查找类的名称,因此您将获得重复。我需要它看起来像这样:

    <Product>Book</Product>
    <Product language="eng">Toy</Product>

有没有办法让这种方法使用这种方法,还是我需要重新考虑?

另外,如果我可以这样工作,反序列化时我会遇到问题吗?

也许我只是以错误的方式解决它,并且有一种更好的方法来处理这种情况?

0 个答案:

没有答案