Mar*_*cel 6 xml-encoding xmlserializer asp.net-mvc-4 asp.net-web-api
我正在使用asp.net MVC4 Web Api.
我已经设定:
Dim xml = GlobalConfiguration.Configuration.Formatters.XmlFormatter
xml.UseXmlSerializer = True
Run Code Online (Sandbox Code Playgroud)
我创建了一个类,它指定了我需要的XML,这很有效.
我几乎在那里,但我不确定如何设置:
<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
以及如何设置元素属性:
xmlns:xsi和xsi:schemaLocation
我可以使用属性设置吗?
这个答案延迟了一年,并针对WebAPI2进行了测试!
在您的WebApiConfig课程中启用XML声明
config.Formatters.XmlFormatter.WriterSettings.OmitXmlDeclaration = false;
Run Code Online (Sandbox Code Playgroud)
然后添加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";
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
<?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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2510 次 |
| 最近记录: |