从标记为可序列化的对象获取XMlNode内容

时间:2010-03-03 11:24:55

标签: c# serialization

我有一个实施Image的课程ISerializable

[Serializable]
[XmlRoot(ElementName = "IMAGE")]
[TypeConverter(typeof(ImageTypeConverter))]
public class ImageResource : ISerializable {
    [XmlAttribute(AttributeName = "TYPE")]
    public string Extension{
        get;
        set;
    }
}

我只是想知道我们是否可以获取此类对象的xml节点? 假设此对象序列化为

<IMAGE TYPE=".mpg"/>

我希望将此Node内容作为字符串。

2 个答案:

答案 0 :(得分:1)

在序列化实例之前,XML表示不存在。序列化后,可以将其作为XML进行操作。

提示:您应该能够直接序列化为XDocument

XDocument doc = new XDocument();
using (XmlWriter writer = doc.CreateNavigator().AppendChild())
{
    XmlSerializer ser = new XmlSerializer(typeof(ImageResource));
    ser.Serialize(instance);
}

答案 1 :(得分:1)

没关系从下面得到答案 link text