C# Wcf RESTful服务返回不带xml模式的xml
这是我的密码:C# Wcf RESTful服务返回不带xml模式的xml,c#,xml-serialization,C#,Xml Serialization,这是我的密码: [DataContract(Name = "ThisPlan")] public class ThisPlanTemplate { [DataMember (Name = "length", Order = 1), XmlAttribute] public decimal length { get; set; } [DataMember (Name = "height", Order = 2), XmlAttribute] public decim
[DataContract(Name = "ThisPlan")]
public class ThisPlanTemplate
{
[DataMember (Name = "length", Order = 1), XmlAttribute]
public decimal length { get; set; }
[DataMember (Name = "height", Order = 2), XmlAttribute]
public decimal height{ get; set; }
[DataMember]
public List<MyClass> parts { get; set; }
}
[DataContract(Name=“ThisPlan”)]
公共类植物模板
{
[DataMember(Name=“length”,Order=1),XmlAttribute]
公共十进制长度{get;set;}
[DataMember(Name=“height”,Order=2),XmlAttribute]
公共十进制高度{get;set;}
[数据成员]
公共列表部分{get;set;}
}
我希望获得如下所示的xml:
<ThisPlan>
<sections/>
<length>100.00</length>
<height>100.00</height>
</ThisPlan>
100
100
但我明白了:
<ThisPlan xmlns="some url">
<sections xmlns:a="some url" i:nil="true"/>
<length>100.00</length>
<height>100.00</height>
</ThisPlan>
100
100
以及如何删除xmlns?您可以通过在对Serialize()的调用中指定XML名称空间来实现这一点 这段代码仅供参考,我不会在生产中使用,但它展示了如何指定自己的名称空间(或者根本不指定名称空间)。希望这有帮助
var serializer = new XmlSerializer(typeof(myObject));
var myNamespace = new XmlSerializerNamespaces();
var myFile = File.Open(mypath, FileMode.OpenOrCreate);
myNamespace.Add("", "");
serializer.Serialize(myFile, myObject, myNamespace);