XMLSerializer クラスを使用してオブジェクトをシリアル化する .net コードをいくつか作成しました。
public static string serialize(object o)
{
Type type = o.GetType();
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(type);
System.IO.StringWriter writer = new System.IO.StringWriter();
serializer.Serialize(writer, o);
return writer.ToString();
}
出力は次のようになります。
<?xml version="1.0" encoding="utf-16"?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>a</string>
<string>b</string>
<string>c</string>
</ArrayOfString>
それは素晴らしいことですが、私が本当に望んでいるのは、最初に XML doctype 宣言を行わずにルート ノードだけを取得することです。
これを行う理由は、シリアル化された XML オブジェクトのルート要素を別の XML ドキュメントの一部として使用したいからです。