首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何忽略[XMLIgnore]属性

如何忽略[XMLIgnore]属性
EN

Stack Overflow用户
提问于 2009-09-05 16:50:29
回答 1查看 34.5K关注 0票数 9

我正在尝试将从第三方.NET Lib获得的一些对象序列化为XML。

当我对对象进行Go To Definition时,该对象的某些属性被标记为[XMLIgnore]

有没有办法告诉我的System.Xml.Serialization.XmlSerializer忽略以下事实:某些属性具有该属性,并且应该序列化对象中的所有内容。

我可能可以获得源代码并在不使用XMLIgnore属性的情况下重新编译它,但是如果XmlSerializer有一些好的重写属性(如

代码语言:javascript
复制
XmlSerializer xmls = new XmlSerializer(
   typeof(MyObject),
   Settings.DoNotApplyXMLAttributeRules
);

提前感谢

编辑

曾按建议尝试过XmlAttributeOverrides,但没有多少joy。这是对象定义(来自FlickrAPI的照片)

代码语言:javascript
复制
[Serializable]
public class Photo
{
    //Some code omitted
    [XmlIgnore]
    public string LargeUrl { get; }

}

这是我写的序列化程序代码..。还是不管用..。

代码语言:javascript
复制
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);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-05 17:02:22

用途:

代码语言:javascript
复制
XmlAttributeOverrides

http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlattributes.xmlignore.aspx

编辑:(在问题之后编辑)

该属性必须是公共的,并且必须有要序列化的getter和setter。

http://msdn.microsoft.com/en-us/library/182eeyhh%28VS.85%29.aspx

(见第一注)

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1383755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档