【发布时间】:2010-11-25 21:45:58
【问题描述】:
我正在尝试将从第 3 方 .NET Lib 获得的一些对象序列化为 XML 文件。
当我Go To Definition为对象时,该对象的一些Properties被标记为[XMLIgnore]
有什么方法可以告诉我的System.Xml.Serialization.XmlSerializer 忽略某些属性具有该属性并且应该序列化对象中的所有内容的事实。
我可能会获得源代码并在没有 XMLIgnore 属性的情况下重新编译它,但如果 XmlSerializer 有一些不错的覆盖属性就好了,比如
XmlSerializer xmls = new XmlSerializer(
typeof(MyObject),
Settings.DoNotApplyXMLAttributeRules
);
提前致谢
编辑
已按照建议尝试了 XmlAttributeOverrides,但没有太多乐趣。 这是对象定义(来自照片的 FlickrAPI)
[Serializable]
public class Photo
{
//Some code omitted
[XmlIgnore]
public string LargeUrl { get; }
}
这是我编写的序列化程序代码...仍然无法正常工作...
XmlWriter xtw = XmlWriter.Create( Server.MapPath("~/App_Data/Data.xml") );
XmlAttributes photoAttributes = new XmlAttributes();
photoAttributes.XmlIgnore = false;
XmlAttributeOverrides photoOverrides = new XmlAttributeOverrides();
photoOverrides.Add(typeof(Photo), "LargeUrl", photoAttributes);
XmlSerializer xmlphoto = new XmlSerializer(typeof(Photo), photoOverrides);
【问题讨论】:
标签: c# .net xml .net-3.5 xml-serialization