LINQ TO XML C#实例 类和XML文件互转换
来源:互联网 发布:卸载office2016软件 编辑:程序博客网 时间:2024/06/11 12:39
XML TO LINQ C#实例 类和XML文件互转换
xml文件
<?xml version="1.0" encoding="utf-8" ?>
<User>
<UserID>34e4257b-b364-4ddc-979d-bcfbb5288f5a</UserID>
<Films>
<Film>
<Title>蜘蛛侠</Title>
<ID>30</ID>
</Film>
<Film>
<Title>天生一对</Title>
<ID>65</ID>
</Film>
<Film>
<Title>山楂树之恋</Title>
<ID>130</ID>
</Film>
</Films>
</User>
类1
public class FavoritesInfo
{
public string UserID { get; set; }
private List<FilmInfo> _ListFilm = new List<FilmInfo>();
public List<FilmInfo> ListFilm
{
get { return _ListFilm; }
set { _ListFilm=value;}
}
}
类2
public class FilmInfo
{
public string ID { get; set; }
public string Title { get; set; }
public string Img { get; set; }
public string Tags { get; set; }
//public string FlashLink { get; set; }
public List<FlashLinkInfo> ListFlash { get; set; }
public string CreationYear { get; set; }
public string Scores { get; set; }
/// <summary>
/// 简介
/// </summary>
public string Intro { get; set; }
/// <summary>
/// 主演
/// </summary>
public string Author { get; set; }
public string FlashLink { get; set; }
}
读xml文件 转成类
public List<FavoritesInfo> GetFavorites()
{
List<FavoritesInfo> listFavorites = new List<FavoritesInfo>();
// 读xml文件
// string xmlFile = Server.MapPath("DvdList.xml"); //获取XML文件的路径 // XDocument doc = XDocument.Load(xmlFile);
string strXml = ReadXmlData();
if (!string.IsNullOrEmpty(strXml))
{
byte[] bs = Encoding.UTF8.GetBytes(strXml);
MemoryStream ms = new MemoryStream(bs);
XDocument xdoc = XDocument.Load(ms);
listFavorites = (
from favoriteinfo in xdoc.Descendants("User")
select new FavoritesInfo
{
UserID = favoriteinfo.Element("UserID").Value.Trim(),
ListFilm = (
from filminfo in favoriteinfo.Descendants("Film") // xdoc.Descendants("rows")
select new FilmInfo
{
ID = filminfo.Element("ID").Value,
Title = filminfo.Element("Title").Value,
}
).ToList(),
}
).ToList();
}
return listFavorites;
}
C#类转成xml文件
public void SaveFavorites(FavoritesInfo favoriteInfo)
{
if (favoriteInfo == null) return;
XElement xml = new XElement("User", new XElement("UserID", favoriteInfo.UserID),
new XElement("Films",
from p in favoriteInfo.ListFilm
select new XElement("Film",
new XElement("Title", p.Title),
new XElement("ID", p.ID)
)
)
);
// 保存xml文件 到磁盘上
//CreatXmlData(xml.ToString());
XDocument doc = new XDocument(new XDeclaration("1.0", "utf-8", "")); doc.Add(xml);
doc.Save(fileName);
}
xml文件
<?xml version="1.0" encoding="utf-8" ?>
<User>
<UserID>34e4257b-b364-4ddc-979d-bcfbb5288f5a</UserID>
<Films>
<Film>
<Title>蜘蛛侠</Title>
<ID>30</ID>
</Film>
<Film>
<Title>天生一对</Title>
<ID>65</ID>
</Film>
<Film>
<Title>山楂树之恋</Title>
<ID>130</ID>
</Film>
</Films>
</User>
类1
public class FavoritesInfo
{
public string UserID { get; set; }
private List<FilmInfo> _ListFilm = new List<FilmInfo>();
public List<FilmInfo> ListFilm
{
get { return _ListFilm; }
set { _ListFilm=value;}
}
}
类2
public class FilmInfo
{
public string ID { get; set; }
public string Title { get; set; }
public string Img { get; set; }
public string Tags { get; set; }
//public string FlashLink { get; set; }
public List<FlashLinkInfo> ListFlash { get; set; }
public string CreationYear { get; set; }
public string Scores { get; set; }
/// <summary>
/// 简介
/// </summary>
public string Intro { get; set; }
/// <summary>
/// 主演
/// </summary>
public string Author { get; set; }
public string FlashLink { get; set; }
}
读xml文件 转成类
public List<FavoritesInfo> GetFavorites()
{
List<FavoritesInfo> listFavorites = new List<FavoritesInfo>();
// 读xml文件
// string xmlFile = Server.MapPath("DvdList.xml"); //获取XML文件的路径 // XDocument doc = XDocument.Load(xmlFile);
string strXml = ReadXmlData();
if (!string.IsNullOrEmpty(strXml))
{
byte[] bs = Encoding.UTF8.GetBytes(strXml);
MemoryStream ms = new MemoryStream(bs);
XDocument xdoc = XDocument.Load(ms);
listFavorites = (
from favoriteinfo in xdoc.Descendants("User")
select new FavoritesInfo
{
UserID = favoriteinfo.Element("UserID").Value.Trim(),
ListFilm = (
from filminfo in favoriteinfo.Descendants("Film") // xdoc.Descendants("rows")
select new FilmInfo
{
ID = filminfo.Element("ID").Value,
Title = filminfo.Element("Title").Value,
}
).ToList(),
}
).ToList();
}
return listFavorites;
}
C#类转成xml文件
public void SaveFavorites(FavoritesInfo favoriteInfo)
{
if (favoriteInfo == null) return;
XElement xml = new XElement("User", new XElement("UserID", favoriteInfo.UserID),
new XElement("Films",
from p in favoriteInfo.ListFilm
select new XElement("Film",
new XElement("Title", p.Title),
new XElement("ID", p.ID)
)
)
);
// 保存xml文件 到磁盘上
//CreatXmlData(xml.ToString());
XDocument doc = new XDocument(new XDeclaration("1.0", "utf-8", ""));doc.Add(xml);
doc.Save(fileName);
}
- LINQ TO XML C#实例 类和XML文件互转换
- C# LINQ to XML
- C# LINQ to XML
- C# LINQ to XML
- c# Linq to Xml
- C# LINQ to XML
- C#使用LINQ to XML操作XML实例
- c# comboBox 使用 linq to xml 绑定 XML文件
- C# 3.0 LINQ to XML
- C#中的Linq to Xml
- LINQ to XML类
- Linq to XML - C#生成XML
- Linq to xml 读取xml文件
- 使用 linq to xml 操作xml文件
- C#基础精华06(Linq To XML,读取xml文件,写入xml)
- C# ~ 从 XML 到 Linq 到 Linq to XML
- Linq To XML 和 序列化XML
- 使用XML LINQ查询和转换XML
- TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议
- MyEclipse优化
- 用c.vim插件打造C/C++集成编辑器
- JNI与JNA性能比较
- TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute
- LINQ TO XML C#实例 类和XML文件互转换
- const指针的了解
- ADADMIN - Generate Applications Files 菜单项详解
- UBUNTU安装PHP mysql
- SSH配置之web.xml .
- TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节
- mvn 结构下spring+axis2开发webservice服务器端、客户端
- JNI中反向访问java对象
- Android 短信列表的时间显示