我正在尝试将 XML 反序列化为模型。我有,例如:
<A>
<B id=1></B>
<B id=2></B>
<B id=3></B>
</A>
是否可以在不创建模型 B 的情况下获取 B 的 ID?所以我想最后得到这样的东西:
public class A {
[XmlAttribute(B/@id)]
public List<int> ids { get; set; }
}
谢谢。
我正在尝试将 XML 反序列化为模型。我有,例如:
<A>
<B id=1></B>
<B id=2></B>
<B id=3></B>
</A>
是否可以在不创建模型 B 的情况下获取 B 的 ID?所以我想最后得到这样的东西:
public class A {
[XmlAttribute(B/@id)]
public List<int> ids { get; set; }
}
谢谢。
您可以实现 ISerializable 接口来添加自定义序列化/反序列化。
http://msdn.microsoft.com/en-us/library/ty01x675.aspx
[Serializable]
public class MyObject : ISerializable
{
public int n1;
public int n2;
public String str;
public MyObject()
{
}
protected MyObject(SerializationInfo info, StreamingContext context)
{
n1 = info.GetInt32("i");
n2 = info.GetInt32("j");
str = info.GetString("k");
}
[SecurityPermissionAttribute(SecurityAction.Demand,
SerializationFormatter =true)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("i", n1);
info.AddValue("j", n2);
info.AddValue("k", str);
}
}