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
}
}
分享到:
相关推荐
本教程将详细讲解如何在VB.NET环境下创建、修改和读取XML文件。 一、XML文件的创建 在VB.NET中创建XML文件,我们可以使用`System.Xml.Linq.XDocument`类。首先,创建一个`XDocument`对象,然后添加所需的元素和...
使用LINQ to XML创建和读取XML文件 #### 创建XML文件 LINQ to XML是.NET Framework 3.5引入的API,提供了更简洁的XML处理方式。`XDocument`和` XElement`类用于构建XML结构。 ```csharp using System.Linq; using...
三、XML创建 创建XML文档通常涉及构建DOM树,然后将其转换为XML字符串。例如,使用Java DOM API创建XML: ```java import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; ...
总结,PowerBuilder 9为处理XML文件提供了强大的支持,通过XMLDocument对象和DOM解析器,我们可以轻松地读取、写入和操作XML数据。这些功能使PB9成为开发涉及XML的应用的理想工具,帮助开发者高效地完成数据交换和...
### 如何用VC++创建和读取XML文件 在探讨如何使用VC++(Visual C++)创建和读取XML文件之前,我们先了解下XML及其重要性。XML(Extensible Markup Language,可扩展标记语言)是一种标记语言,类似于HTML,但更侧重...
结合PLC和XML,我们可以构建一个系统,从PLC读取实时数据,将其格式化为XML,然后通过网络发送到其他系统进行进一步处理或存储。反之,也可以从XML文件中读取数据并写入PLC,实现远程控制或自动化任务。这样的系统在...
本篇教程旨在指导读者如何使用C#进行XML文件的基本操作,包括创建、读取和修改XML文件等。 #### 创建XML文件 在C#中创建XML文件主要涉及以下几个步骤: 1. **创建`XmlDocument`对象**:`XmlDocument`类提供了创建...
TinyXML 是一个小型、开源的 ...无论是读取现有的 XML 数据还是创建新的 XML 文档,通过理解和运用其提供的类和方法,开发者都能高效地进行 XML 编程。结合 Visual C++ 的特性,可以进一步扩展其在 GUI 应用中的功能。
以上内容详细介绍了如何在.NET环境中利用XML和DataTable进行数据操作,无论是创建XML文档、读取XML数据,还是在两者之间进行转换,都是非常实用的技巧。这些技术广泛应用于Web服务、数据存储和跨系统数据交换等场景...
例如,使用LINQ to XML创建和读取XML文件的代码如下: ```csharp // 写入XML (LINQ to XML) XDocument doc = new XDocument( new XElement("Root", new XElement("Child", "这是子元素的内容") ) ); doc.Save(...
本项目实现了在Unity中对XML文件的读取和写入操作,这涉及到Unity的C#编程以及XML的序列化和反序列化技术。 XML序列化是指将对象的状态转换为XML文档的过程,而反序列化则是将XML文档恢复为对象的过程。在Unity中,...
asp.net xml创建与读取 源码OK
在处理XML文档时,LINQ to XML(也称为LinqXML)是一个非常实用的API,它提供了面向对象的方式来创建、操作和读取XML文档。本文将详细介绍如何使用C#的LinqXML技术对XML文件进行读取。 首先,我们需要引入必要的...
在这个MenuStrip中,创建两个菜单项,分别命名为“读取”和“导出数据”,用于触发读取和保存XML文件的操作。 对于“读取”功能,你可以使用`OpenFileDialog`控件来让用户选择要打开的XML文件。当用户点击“读取”...
本文将详细介绍如何使用VC++结合MFC(Microsoft Foundation Classes)库来操作XML文件,包括创建、读取、添加和删除XML节点。 首先,你需要了解XML的基本概念。XML是一种自描述性的标记语言,通过标签来定义数据...
本项目“java自动创建和读取XML文档”旨在教你如何在MyEclipse环境中利用Java来操作XML文件,包括创建和读取XML文档。 XML是一种标记语言,它允许我们在文档中定义自定义的标签,用于结构化地表示数据。它的结构...
C#作为.NET框架的重要组成部分,提供了强大的XML处理能力,允许程序员方便地创建和读取XML文档。 ### 创建XML文档 C#创建XML文档主要通过`System.Xml`命名空间中的类来实现。下面介绍两种创建方法: #### 方法一...
在VC++(Visual C++)环境下,TinyXML提供了一种简单、轻量级的方式来读取和写入XML源文件,这在处理配置文件、保存游戏状态或与XML数据交换时非常有用。本篇文章将详细介绍如何在VC++项目中集成和使用TinyXML库来...
3. **XmlNodeReader** 和 **XmlWriter**:用于流式读取和写入XML文档,效率较高,但不如DOM灵活。 4. **XDocument** 和 **LINQ to XML**:.NET Framework 3.5及以后版本引入,提供更简洁的API,便于使用LINQ查询XML...