这是我的代码:
[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?
答案 0 :(得分:0)
您可以通过在对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);
此代码仅供参考,我不会在生产中使用它,但它显示了如何指定自己的命名空间(或根本没有)。希望这有帮助!