[英]Remove namespace xml of a property during XML serialization
我有一個這樣的對象:
public class A {
public int ID {get; set;}
public Name PName {get; set;}
}
[XmlType(Namespace = "somenamespace")]
public class Name{
public string FName {get; set;}
public string LName {get; set;}
}
當我對此序列化時,我得到以下XML:
<A>
<ID>1</ID>
<PName>
<FName xmlns="somenamespace">First Name</FNAME>
<LName xmlns="somenamespace">Last Name</LNAME>
</PName>
</A>
有沒有一種方法可以在序列化過程中擺脫類“ Name”的名稱空間?
顯然,我不能只刪除類“名稱”的XML類型屬性。
我已經嘗試過此解決方案(第一個答案),但對我而言不起作用。 在.NET中序列化對象時忽略所有xsi和xsd名稱空間?
提前謝謝了,
灰。
如果您沒有Name
類型,則在創建序列化程序時,仍然可以通過使用XmlAttributeOverrides
覆蓋XML屬性來控制其序列化。
例如:
var overrides = new XmlAttributeOverrides();
overrides.Add(typeof(Name), new XmlAttributes());
var serializer = new XmlSerializer(
typeof(A), overrides, null, null, string.Empty);
請參閱此小提琴以獲得有效的演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.