ok 首先,先定义xml.
projects.xml
<?xml version="1.0" encoding="utf-8" ?>
<projects>
<project id="1" title="nasa.wang @ cnblogs" category="web" hit="23" createdate="2008-4-9" converpic="null" iscommend="true" votenum="8" score="10">
</project>
</projects>
在sl中定义类.
public class project
{
public int id { get; set; }
public string title { get; set; }
public string category { get; set; }
public int hit { get; set; }
public DateTime createdate { get; set; }
public string converpic { get; set; }
public bool iscommend { get; set; }
public int votenum { get; set; }
public int score { get; set; }
//public IList<pitem> pitems { get; set; }
//public IList<pcomment> pcomments { get; set; }
}
使用WebClient来加载数据.linq来格式化数据.
public Page()
{
InitializeComponent();
WebClient client = new WebClient();
client.DownloadStringAsync(new Uri(HtmlPage.Document.DocumentUri, "projects.xml"));
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
}
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
XmlReader reader = XmlReader.Create(new StringReader(e.Result));
XDocument document = XDocument.Load(reader);
var projects = from f in document.Descendants("project")
select new project
{
id = int.Parse(f.Attribute("id").Value),
title = f.Attribute("title").Value,
category = f.Attribute("category").Value,
hit = int.Parse(f.Attribute("hit").Value),
createdate = DateTime.Parse(f.Attribute("createdate").Value),
converpic = f.Attribute("converpic").Value,
iscommend = bool.Parse(f.Attribute("iscommend").Value),
votenum = int.Parse(f.Attribute("votenum").Value),
score = int.Parse(f.Attribute("score").Value),
};
List<project> _projects = new List<project>();
_projects.AddRange(projects);
txtStatus.Text ="read success for " + _projects[0].title;
}
读取完毕. ;)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)