[英]Serialize 0-n elements inside another element
我有兩個這樣的課程:
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; }
}
有什么辦法可以裝飾Category類上的Products屬性,使它像這樣序列化?
<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產品子元素。
...還是我必須下拉菜單以更手動的方式生成文檔?
(這不是我本來會設計xml結構的方式,但是嘿-我們生活在一個不完善的世界中)
將[XmlElement]
屬性放在列表中:
public class Category
{
public string CategoryName { get; set; }
[XmlElement]
public List<Product> Products { get; set; }
}
我相信XSD.exe可以為您的類創建XSD。 然后,您只需使用基本的XmlSerializer序列化到您的XSD。
或者,您可以創建XSD,並從XSD生成類。 兩種方法都應該起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.