C# XML反序列化成对象 子元素可变该何解????求大神指教

yinqi025 yinqi025 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
XML节构如下:W节点下会有子元素w1-wn n不固定 我现在需要反序列化这个XML成对象该何解?????求大神指教

<w id="218070">
<w1 h="考登比斯" a="哈茨"/>
<w2 h="克罗托内" a="弗洛西诺尼"/>
<w3 h="克罗托内" a="弗洛西诺尼"/>
<w4 h="克罗托内" a="弗洛西诺尼"/>
<w5 h="克罗托内" a="弗洛西诺尼"/>
........
</w>


以下是方便调试代码:
[XmlRoot("w")]
public class Match
{
[XmlAttribute("id")]
public long Id;

//以下不知道该怎么写
[XmlElement("w1")]
public MatchInfo W1;
}


public class MatchInfo
{
[XmlAttribute("h")]
public string HostName;

[XmlAttribute("a")]
public string AwayName;
}


C#反序列化代码如下:
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(Match));
Match resultMatch = null;
using (System.IO.Stream stream = new System.IO.MemoryStream(System.Text.Encoding.Default.GetBytes(content)))
{
resultMatch = serializer.Deserialize(stream) as Match;
}



...全文

相关推荐

C#对象和Xml对象的相互转化

C#对象和Xml对象的相互转化 C#对象和Xml对象的相互转化

dz45693

C#中实现XML序列化和反序列化的详细指南

在XML中,属性(Attributes)和子元素(Elements)都有其特定的用途和上下文。属性通常用于提供有关元素的附加信息,而子元素则用于表示复杂信息或数据的嵌套结构。在C#中,使用时,可以通过类的字段和属性来控制哪些成员应被序列化为属性或子元素。在第四章,我们将深入探讨如何在C#中自定义序列化输出,以创建符合特定需求的XML格式。这个过程涉及对XmlWriter和等类的使用,以及如何在自定义操作中处理复杂的数据结构和性能优化。

苏苏苏苏大霖

C#序列化与反序列化(包括复杂xml对象)

C# xml序列化及反序列化(解析xml为对象及对象转xml保存),方法一反序列化取节点KV值,方法二反序列化取节点标签值,方法三取节点KV值,并增加节点对象数组及节点标签组合反序列化

Whisky_

C#对象序列化与反序列化

1.对象序列化的介绍 (1).NET支持对象序列化的几种方式 二进制序列化:对象序列化之后是二进制形式的,通过BinaryFormatter类来实现的,这个类位于System.Runtime.Serialization.Formatters.Binary命名空间下。 SOAP序列化:对象序列化之后的结果符合SOAP协议,也就是可以通过SOAP 协议传输,通过System.Runtime.Serialization.Formatters.Soap命名空间下的SoapFormatter类来实现的。 XML序列化:对象序列化之后的结果是XML形式的,通过XmlSerializer 类来实现的,这个类位于System.Xml.Serialization命名空间下。XML序列化不能序列化私有数据。

Zhemqeechom

C#实现复杂XML的序列化与反序列化

本例子以一个实例的形式讲述了C#实现复杂XML的序列化与反序列化的方法。分享给大家供大家参考。 播客说明:http://www.cnblogs.com/bq-blog/p/xmloper2016.html

书晨听风
评论 5
收藏 已收藏
分享
返回顶部
yinqi025
C# 111,129 成员 642,538 内容