【发布时间】:2014-05-14 15:43:33
【问题描述】:
请注意,此应用程序使用 Silverlight5:
我有这样的xml:
<A>
<B>
<C>C1</C>
<D>D1</D>
</B>
<B>
<E>E1</E>
<F>F1<F1>
</B>
</A>
我只是在父类“A”中遇到问题。我将如何管理“B”的重复?以及如何在反序列化时访问两个 B 内的数据节点(子节点)?因为我将拥有 A 类的对象,并且使用该对象 我将如何区分两个“B”以访问“C1,D1,E1,F1”?
My try to do this is :
[XmlRoot(ElementName = "A")]
public class Parameter
{
[XmlElement("B")] //But what to do for another "B"
public B B { get; set; }
}
这里是B级
[XmlRoot(ElementName = "B")]
public class Parameter
{
[XmlElement("C")]
public string Label { get; set; }
[XmlElement("D")]
public string Type { get; set; }
}
但是对于 E 和 F 元素该怎么做? 以及如何在反序列化时访问 C1、D1 和 E1 和 F1?
在Andy Jones之后编辑,假设我尝试像这样获取“A”类的对象:
XmlSerializer deserializer = new XmlSerializer(typeof(A));
XmlReader reader = XmlReader.Create(new StringReader(xmlstring));//HerexmlString contains my xml given above
A a = (A)deserializer.Deserialize(reader);
现在使用对象"a" 我想访问 C1, D1 和 C2,D2 。 那该怎么做呢?
【问题讨论】:
标签: c# .net deserialization silverlight-5.0 xml-deserialization