using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using System.Xml.Linq;
namespace LinqDemo
{
public partial class LinqToXML : System.Web.UI.Page
{
public string SQLCONN = System.Configuration.ConfigurationManager.AppSettings["SQLCONN"].ToString();
protected void Page_Load(object sender, EventArgs e)
{
string Message = string.Empty;
if (HttpContext.Current.Request.HttpMethod == "POST")
{
string Command = Request["HdCommand"].ToString();
switch (Command)
{
case "CreateXML":
Message=CreateXML();
break;
case "ReadXML":
Message = ReadXML(Server.MapPath("XML/UserInfos.xml"));
break;
default:
break;
}
}
Response.Write(Message);
}
#region //创建一个新的XML文件
public string CreateXML()
{
string Message = string.Empty;
try
{
SqlConnection conn = new SqlConnection(SQLCONN);
conn.Open();
string SQL = "select * from UsersInfo where User_State=1";
SqlCommand cmd = new SqlCommand(SQL, conn);
SqlDataReader dr = cmd.ExecuteReader();
//XmlDocument实例化一个XML文档对象xmls
XmlDocument xmls = new XmlDocument();
//创建一个XML文件的根节点"root"元素
XmlElement root = xmls.CreateElement("root");
//添加节点属性
//root.SetAttribute("imageWidth", "680");
//root.SetAttribute("imageHeight", "345");
xmls.AppendChild(root); //将根节点添加到xmlsXML文件中
while (dr.Read())
{
//创建一个XML文件的节点"root"元素
XmlElement UserInfo = xmls.CreateElement("UserInfo");
UserInfo.SetAttribute("ID", dr["ID"].ToString());
root.AppendChild(UserInfo);//将UserInfo节点添加到root节点下
//用户帐号
XmlElement UserCodeMenu = xmls.CreateElement("UserCode");
UserCodeMenu.InnerText = dr["User_Code"].ToString();
UserInfo.AppendChild(UserCodeMenu); //将UserCode节点添加到UserInfo节点下
//用户姓名
XmlElement UserNameMenu = xmls.CreateElement("UserName");
UserNameMenu.InnerText = dr["User_Name"].ToString();
UserInfo.AppendChild(UserNameMenu);//将UserName节点添加到UserInfo节点下
//用户性别
XmlElement UserSexMenu = xmls.CreateElement("UserSex");
UserSexMenu.InnerText = dr["User_Sex"].ToString();
UserInfo.AppendChild(UserSexMenu);//将UserSex节点添加到UserInfo节点下
//用户年龄
XmlElement UserAgeMenu = xmls.CreateElement("UserAge");
UserAgeMenu.InnerText = dr["User_Age"].ToString();
UserInfo.AppendChild(UserAgeMenu);//将UserAge节点添加到UserInfo节点下
//用户联系电话
XmlElement UserTelMenu = xmls.CreateElement("UserTel");
UserTelMenu.InnerText = dr["User_Tel"].ToString();
UserInfo.AppendChild(UserTelMenu);//将UserTel节点添加到UserInfo节点下
//用户邮箱
XmlElement UserEmaiMenu = xmls.CreateElement("UserEmail");
UserEmaiMenu.InnerText = dr["User_Email"].ToString();
UserInfo.AppendChild(UserEmaiMenu);//将UserEmail节点添加到UserInfo节点下
//用户地址
XmlElement UserAddressMenu = xmls.CreateElement("UserAddress");
UserAddressMenu.InnerText = dr["User_Address"].ToString();
UserInfo.AppendChild(UserAddressMenu);//将UserAddress节点添加到UserInfo节点下
//用户状态
XmlElement UserStateMenu = xmls.CreateElement("UserState");
UserStateMenu.InnerText = dr["User_State"].ToString();
UserInfo.AppendChild(UserStateMenu);//将UserState节点添加到UserInfo节点下
//用户创建时间
XmlElement CreateTimeMenu = xmls.CreateElement("CreateTime");
CreateTimeMenu.InnerText = dr["Create_Time"].ToString();
UserInfo.AppendChild(CreateTimeMenu);//将CreateTime节点添加到UserInfo节点下
}
conn.Close();
xmls.Save(Server.MapPath("XML/UserInfos.xml"));
Message = "创建成功!";
}
catch
{
Message = "创建失败!";
}
return Message;
}
#endregion
#region //读取XML文件信息
public string ReadXML(string XMLFileName)
{
StringBuilder str = new StringBuilder();
//XmlDocument实例化一个XML文档对象xmls
XmlDocument xmls = new XmlDocument();
//XML文档对象xmls的Load方法去加载要去读的XML文件
xmls.Load(XMLFileName);
//根据元素标签去读取数据
XmlNodeList userlist = xmls.GetElementsByTagName("UserInfo");
for (int i = 0; i < userlist.Count; i++)
{
str.Append("用户帐号:"+userlist[i].ChildNodes[0].InnerText+"-");
str.Append("用户姓名:" + userlist[i].ChildNodes[1].InnerText + "-");
str.Append("性别:" + userlist[i].ChildNodes[2].InnerText + "-");
str.Append("年龄:" + userlist[i].ChildNodes[3].InnerText + "-");
str.Append("联系电话" + userlist[i].ChildNodes[4].InnerText + "-");
str.Append("邮箱:" + userlist[i].ChildNodes[5].InnerText + "-");
str.Append("地址:" +userlist[i].ChildNodes[6].InnerText+"-");
str.Append("状态:" +userlist[i].ChildNodes[7].InnerText+"-");
str.Append("创建时间:" +userlist[i].ChildNodes[8].InnerText+" | ");
}
return str.ToString();
}
#endregion
#region //Linq to XML 读取XML文件信息
public string LinqReadXML(string XMLFileName)
{
StringBuilder str = new StringBuilder();
XElement doc = XElement.Load(XMLFileName);
var UserInfos = from item in doc.Descendants("UserCode") select item.Value;
foreach (var item in UserInfos)
str.Append(item);
return str.ToString();
}
#endregion
}
}
XML创建和读取
最新推荐文章于 2024-10-04 17:46:34 发布