6

asp.net MVC4 Web Api を使用しています。

私は設定しました:

Dim xml = GlobalConfiguration.Configuration.Formatters.XmlFormatter
xml.UseXmlSerializer = True

必要な XML を指定するクラスを作成しましたが、これはうまく機能します。

私はほとんどそこにいますが、どのように設定するかわかりません:

<?xml version="1.0" encoding="utf-8"?>

要素の属性を設定する方法:

xmlns:xsi および xsi:schemaLocation

属性を使用してこれを設定できますか?

4

1 に答える 1

6

この回答は 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>
于 2014-04-14T14:39:33.680 に答える