我正在尝试序列化一组类以匹配特定的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>
有没有办法让这种方法使用这种方法,还是我需要重新考虑?
另外,如果我可以这样工作,反序列化时我会遇到问题吗?
也许我只是以错误的方式解决它,并且有一种更好的方法来处理这种情况?