Wcf RESTful-сервис, возвращающий XML без XML-схемы - PullRequest
1 голос
/ 03 января 2012

Вот мой код:

[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?

1 Ответ

0 голосов
/ 20 февраля 2012

Это можно сделать, указав пространство имен XML в вызовах Serialize ().

var serializer = new XmlSerializer(typeof(myObject));
var myNamespace = new XmlSerializerNamespaces();
var myFile = File.Open(mypath, FileMode.OpenOrCreate);
myNamespace.Add("", "");
serializer.Serialize(myFile, myObject, myNamespace);

Этот код предназначен только для справки, и я не буду использовать его в работе, но он показывает, как вы можете указать свое собственное пространство имен (или вообще не указывать). Надеюсь, это поможет!

...