Wcf RESTful服务返回没有xml模式的xml
本文关键字:xml 模式 RESTful 服务 返回 Wcf | 更新日期: 2023-09-27 18:19:14
下面是我的代码:
[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; }
}
我想得到像下面这样的xml:
<ThisPlan>
<sections/>
<length>100.00</length>
<height>100.00</height>
</ThisPlan>
但是我得到了这个:
<ThisPlan xmlns="some url">
<sections xmlns:a="some url" i:nil="true"/>
<length>100.00</length>
<height>100.00</height>
</ThisPlan>
如何删除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);
这段代码仅供参考,我不会在生产中使用它,但它展示了如何指定自己的名称空间(或根本没有名称空间)。希望这对你有帮助!