在网站开发中,有时需要读取一些静态数据,但又希望能够随时更新这些数据。为了实现这一需求,决定从XML文件中读取数据,并使用LINQto XML来处理。经过一段时间的探索和学习,对这一概念有了更深入的理解,因此决定与大家分享。
将创建一个XML文件和一个类来从中获取数据:
<?xml version="1.0" encoding="utf-8" ?>
<Actions>
<Action id="SignIn">1</Action>
<Action id="SignOut">2</Action>
<Action id="Open">3</Action>
</Actions>
将构造函数设置为获取数据到类中的变量。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml.Linq;
public class Actions
{
int signIn, signOut, open;
public int SignIn
{
get { return signIn; }
}
public Actions()
{
XElement xe = XElement.Load(
@"C:\Users\ADELOooO\Documents\Visual Studio 10\WebSites\LinQReadXML\Actions.xml");
var x = from a in xe.Elements("Action")
where a.Attribute("id").Value == "SignIn"
select a.Value;
signIn = int.Parse(x.First().ToString());
}
}
在上面的代码中,以 signIn
变量为例,但可以使用相同的方法来获取其他变量。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Actions a = new Actions();
TextBox1.Text = a.SignIn.ToString();
}
}