C# 具有额外属性的CollectionDataContract
我正在处理WCF中的列表。我想在客户端和服务器之间传递列表,其中包含一个额外的属性 所需输出C# 具有额外属性的CollectionDataContract,c#,.net,wcf,xml-parsing,C#,.net,Wcf,Xml Parsing,我正在处理WCF中的列表。我想在客户端和服务器之间传递列表,其中包含一个额外的属性 所需输出 <NumbersList> <Count>2</Count> //Extra property to parse <Number>1</Number> <Number>2</Number> </NumbersList> <NumbersList> <Coun
<NumbersList>
<Count>2</Count> //Extra property to parse
<Number>1</Number>
<Number>2</Number>
</NumbersList>
<NumbersList>
<Count>2</Count>
<Number>1</Number>
<Number>2</Number>
</NumbersList>
然后可以给输出,如下所示:
<NumbersList>
<Count>2</Count>
<Number>
<Number>1</Number>
<Number>2</Number>
</Number>
</NumbersList>
<NumbersList>
<Number>
<Number>1</Number>
<Number>2</Number>
</Number>
</NumbersList>
[MessageContract]
public class Messanger
{
[MessageBodyMember]
[XmlElement(ElementName = "NumbersList")]
public NumbersList NumbersList;
}
[DataContract]
[XmlRoot(ElementName = "NumbersList")]
public class NumbersList
{
[XmlElement(ElementName = "Count")]
public int Count { get; set; }
[XmlElement(ElementName = "Number")]
public List<int> Number { get; set; }
}
<NumbersList>
<Count>2</Count> //Extra property to parse
<Number>1</Number>
<Number>2</Number>
</NumbersList>
1.
2.
有人能帮我得到这样的输出吗
<NumbersList>
<Count>2</Count>
<Number>
<Number>1</Number>
<Number>2</Number>
</Number>
</NumbersList>
<NumbersList>
<Number>
<Number>1</Number>
<Number>2</Number>
</Number>
</NumbersList>
[MessageContract]
public class Messanger
{
[MessageBodyMember]
[XmlElement(ElementName = "NumbersList")]
public NumbersList NumbersList;
}
[DataContract]
[XmlRoot(ElementName = "NumbersList")]
public class NumbersList
{
[XmlElement(ElementName = "Count")]
public int Count { get; set; }
[XmlElement(ElementName = "Number")]
public List<int> Number { get; set; }
}
<NumbersList>
<Count>2</Count> //Extra property to parse
<Number>1</Number>
<Number>2</Number>
</NumbersList>
所需输出
<NumbersList>
<Count>2</Count> //Extra property to parse
<Number>1</Number>
<Number>2</Number>
</NumbersList>
<NumbersList>
<Count>2</Count>
<Number>1</Number>
<Number>2</Number>
</NumbersList>
2.
1.
2.
在进行研发和研究并在asp.net论坛上发布我的查询后,我得到了解决方案
在我的情况下,CollectionDataContract
对我没有帮助,因为我必须使用XmlSerializerFormat
所以我重写代码如下:
<NumbersList>
<Count>2</Count>
<Number>
<Number>1</Number>
<Number>2</Number>
</Number>
</NumbersList>
<NumbersList>
<Number>
<Number>1</Number>
<Number>2</Number>
</Number>
</NumbersList>
[MessageContract]
public class Messanger
{
[MessageBodyMember]
[XmlElement(ElementName = "NumbersList")]
public NumbersList NumbersList;
}
[DataContract]
[XmlRoot(ElementName = "NumbersList")]
public class NumbersList
{
[XmlElement(ElementName = "Count")]
public int Count { get; set; }
[XmlElement(ElementName = "Number")]
public List<int> Number { get; set; }
}
<NumbersList>
<Count>2</Count> //Extra property to parse
<Number>1</Number>
<Number>2</Number>
</NumbersList>
[MessageContract]
公共类Messanger
{
[MessageBodyMember]
[xmlement(ElementName=“NumbersList”)]
公共电话号码表;
}
[数据合同]
[XmlRoot(ElementName=“NumbersList”)]
公共类编号列表
{
[xmlement(ElementName=“Count”)]
公共整数计数{get;set;}
[xmlement(ElementName=“Number”)]
公共列表编号{get;set;}
}
它将为我生成XML,如下所示:
<NumbersList>
<Count>2</Count>
<Number>
<Number>1</Number>
<Number>2</Number>
</Number>
</NumbersList>
<NumbersList>
<Number>
<Number>1</Number>
<Number>2</Number>
</Number>
</NumbersList>
[MessageContract]
public class Messanger
{
[MessageBodyMember]
[XmlElement(ElementName = "NumbersList")]
public NumbersList NumbersList;
}
[DataContract]
[XmlRoot(ElementName = "NumbersList")]
public class NumbersList
{
[XmlElement(ElementName = "Count")]
public int Count { get; set; }
[XmlElement(ElementName = "Number")]
public List<int> Number { get; set; }
}
<NumbersList>
<Count>2</Count> //Extra property to parse
<Number>1</Number>
<Number>2</Number>
</NumbersList>
2//要分析的额外属性
1.
2.
这是论坛的链接:据我所知,这是不可能的。@selami,这可能是可能的,请看下面我的答案。