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