XML反序列化写法
XML结构:<dataversion="1.0"><filesversion="1.0"><filename="a.txt"size="10k"><somethingid...
XML结构:
<data version="1.0">
<files version="1.0">
<file name="a.txt" size="10k">
<something id="1" name="xyz"/>
<something id="2" name="abc"/>
</file>
<file name="b.txt" size="20k">
<something id="1" name="adz"/>
<something id="2" name="ayp"/>
</file>
</files>
</data>
请问那个序列化的那个类应该怎样写,百度很久写不出来,希望高手指点一下。
就是里面是 [XmlRoot(ElementName = "data")] get set,[XmlAttribute(AttributeName = "xxxxx")] 那个类。
不是直接读取那种。
拜托高手了。 展开
<data version="1.0">
<files version="1.0">
<file name="a.txt" size="10k">
<something id="1" name="xyz"/>
<something id="2" name="abc"/>
</file>
<file name="b.txt" size="20k">
<something id="1" name="adz"/>
<something id="2" name="ayp"/>
</file>
</files>
</data>
请问那个序列化的那个类应该怎样写,百度很久写不出来,希望高手指点一下。
就是里面是 [XmlRoot(ElementName = "data")] get set,[XmlAttribute(AttributeName = "xxxxx")] 那个类。
不是直接读取那种。
拜托高手了。 展开
2个回答
展开全部
根据你提供的XML,创建三个类,然后再利用一楼的方法把这个XML文件反序化成MyData类。高手这两个字我受不起,希望有更牛X的人来...
[Serializable]
public class something
{
pubilc int id {get;set;}
public string name{get;set;}
}
[Serializable]
public class MyFile
{
[xmlAttribute("name")]
pubilc string name{get;set;}
[xmlAttribute("size")]
pulic string size{get;set;}
[xmlElement("file")]
public List<something> listSomething{get;set;}
}
[Serializable]
[xmlRoot("data")]
pubilc class MyData
{
[xmlArray("files")]
[xmlArrayItem(file)]
public List<MyFile>ListMyfile{get;set;}
}
[Serializable]
public class something
{
pubilc int id {get;set;}
public string name{get;set;}
}
[Serializable]
public class MyFile
{
[xmlAttribute("name")]
pubilc string name{get;set;}
[xmlAttribute("size")]
pulic string size{get;set;}
[xmlElement("file")]
public List<something> listSomething{get;set;}
}
[Serializable]
[xmlRoot("data")]
pubilc class MyData
{
[xmlArray("files")]
[xmlArrayItem(file)]
public List<MyFile>ListMyfile{get;set;}
}
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
举个列子:
using System.Xml.Serialization;
using System.IO;
//可序列化的类
[Serializable]
public class Person
{
[XmlElement("id")]
public int ID { get; set; }
[XmlElement("name")]
public string Name { get; set; }
}
//序列化
Person p = new Person();
p.ID = 1;
p.Name = "张三";
Type typePer = p.GetType();
XmlSerializer xmlSer = new XmlSerializer(typePer);
using (FileStream fs = new FileStream("person.xml", FileMode.Create))
{
xmlSer.Serialize(fs, p);
}
//反序列化
Person p = new Person();
Type typePer = p.GetType();
XmlSerializer xmlSer = new XmlSerializer(typePer);
using (FileStream fs = new FileStream("person.xml", FileMode.Open))
{
p = (Person)xmlSer.Deserialize(fs);
}
using System.Xml.Serialization;
using System.IO;
//可序列化的类
[Serializable]
public class Person
{
[XmlElement("id")]
public int ID { get; set; }
[XmlElement("name")]
public string Name { get; set; }
}
//序列化
Person p = new Person();
p.ID = 1;
p.Name = "张三";
Type typePer = p.GetType();
XmlSerializer xmlSer = new XmlSerializer(typePer);
using (FileStream fs = new FileStream("person.xml", FileMode.Create))
{
xmlSer.Serialize(fs, p);
}
//反序列化
Person p = new Person();
Type typePer = p.GetType();
XmlSerializer xmlSer = new XmlSerializer(typePer);
using (FileStream fs = new FileStream("person.xml", FileMode.Open))
{
p = (Person)xmlSer.Deserialize(fs);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询