在序列化类时我得到了这种格式的xml。
<Root Name="blah">
<Element>1</Element>
<Element>2</Element>
<Element>3</Element>
<Element>4</Element>
</root>
我的班级是
public class Root
{
public List<data> Element { get; set; }
}
但我需要格式化数据:
<Root Name="blah">
<Element0>1</Element0>
<Element1>2</Element1>
<Element2>3</Element2>
<Element3>4</Element3>
</root>
请帮忙......
答案 0 :(得分:3)
这对于常规序列化器来说并不合适;并且实现IXmlSerializable是过度的。
只需为您需要的东西创建一个DOM;一个好的起点是XElement:
var el = new XElement(
new XAttribute("Name", obj.Name),
obj.Element.Select((i,child) =>
new XElement("Element" + i, child))
);
var xml = el.ToString();
(未测试的)
答案 1 :(得分:0)
我不确定你是否可以使用XML序列化程序自动完成。
您确定将节点编号设置为属性是不可接受的,还是可能会将节点分解为以下语法?
<Element>
<Order>0</Order>
<Value>1</Value>
</Element>