拥有下一种形式的XML:
<categories someAttribute="test">
<category id="1">
<title></title>
</category>
<category id="1">
<title></title>
</category>
</categories>
无法更改XML结构。但我想要的是用XMLSerialization替换错误的手动编码XML生成。
请帮助处理这些类别列表。有没有办法指示XML序列化程序不包装类别列表
示例代码:
public class Category
{
public int Id{get;set;}
}
public class Categories
{
public List<Category> CategoriesList { get; set; }
}
答案 0 :(得分:3)
像这样:
public class Category
{
[XmlAttribute("id")]
public int Id { get; set; }
[XmlElement("title")]
public string Title { get; set; }
}
[XmlRoot("categories")]
public class Categories
{
[XmlAttribute("someAttribute")]
public string SomeValue { get; set; }
[XmlElement("category")]
public List<Category> CategoriesList { get; set; }
}
答案 1 :(得分:0)
查看XmlAnyElementAttribute。
答案 2 :(得分:-1)
使用IXmlSerializable接口,您可以自己定义如何编写xml,或者您可以将列表设置为数组我认为它将以您想要的方式编写,但我不确定..