3
我有以下代码:与XML序列化(.NET)自定义节点名称
public class Foo {}
static class Program {
[XmlElement("foo")] // Ignored :(
static public List<Foo> MyFoos { get; private set; }
public static void Main() {
MyFoos.Add(new Foo());
MyFoos.Add(new Foo());
XmlSerializer configSerializer =
new XmlSerializer(typeof(List<Foo>), new XmlRootAttribute("foos"));
using (TextWriter w = new StreamWriter("test.xml"))
{
s.Serialize(w, MyFoos);
}
}
}
将会产生下面的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<foos xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Foo />
<Foo />
</foos>
我真的想拥有的是Foo
元素标记为foo
,相反......我意识到这主要是表面化妆,但它符合XML中通常被认为正常的东西。
XmlElementAttribute在类定义上是不允许的:属性'XmlElement'在这个声明类型上是无效的。它只对'property,indexer,field,param,return'声明有效。 – 2009-07-11 02:45:02