この回答は 1 年遅れており、WebAPI2 でテストされています!
WebApiConfig
クラスで XML 宣言を有効にする
config.Formatters.XmlFormatter.WriterSettings.OmitXmlDeclaration = false;
schemaLocation
次に、プロパティまたはメンバーを追加します(私は常にプロパティを好みます)
public class SampleData
{
[XmlAttribute(AttributeName = "schemaLocation", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
public string SchemaLocation { get; set; }
//other properties
public string Prop1 { get; set; }
public SampleData()
{
SchemaLocation = "http://localhost/my.xsd";
}
}
出力:
<?xml version="1.0" encoding="utf-8"?>
<TestModel
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://localhost/my.xsd">
<Prop1>1</Prop1>
</TestModel>