List<int>
から派生し、カスタム名でXMLシリライズしたいと思います。例:Listの名前付きXMLシリアル化
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.IO;
namespace xmlerror
{
[Serializable, XmlRoot("Foo")]
public class Foo : List<int>
{
}
class MainClass
{
public static void Main(string[] args)
{
var foo = new Foo();
foo.Add(123);
using (var writer = new StringWriter())
{
var serilizer = new XmlSerializer(typeof(Foo));
serilizer.Serialize(writer, foo);
Console.WriteLine(writer.ToString());
}
}
}
}
出力:
<?xml version="1.0" encoding="utf-16"?>
<Foo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<int>123</int>
</Foo>
しかし、私は要素の代わりに<int>
の<Bar>
を名前を付けたいです。私はXML属性XmlAnyElement
とXmlArrayItem
を試しましたが、終わりはありません。要素タグの名前を変更するにはどうすればよいですか? XmlTextWriter
で手動で行う必要がありますか?
これも機能しますが、私は他の答えを使用することに決めました。 – aggsol