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?

Wcf RESTful服务返回没有xml模式的xml

可以通过在调用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);

这段代码仅供参考,我不会在生产中使用它,但它展示了如何指定自己的名称空间(或根本没有名称空间)。希望这对你有帮助!