现在的位置: 首页 > 综合 > 正文

(一步步操作-一看就懂)ado.net与xml互操作的代码

2018年02月06日 ⁄ 综合 ⁄ 共 3169字 ⁄ 字号 评论关闭
与大家分享一下

这是我晚上写的几段代码,大家看看。

作者:fx_blog(CSDN)
标题:ado.net 与xml的操作(实例)
/*==版权所有.侵权必究==*/

(1)准备工作
大家在自己机子上要安装.net framework asp.net

/*========================开始========================*/
/*========================数据库添加====================*/
/*
比如说现在有一个数据库 名称:user.mdb
里面有一个表 名称:users
还有一个XML文档:writetoXml.xml
有三个字段:id(自动编号),userid,pwd

用ds.WriteXml生成的xml文档

根节点默认为:NewDataSet
下一节点为表名:users
再下子节点就是数据库的字段名了
*/

<%@ Page Language="C#" Debug=true %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.OleDb" %>

<script runat=server>
void addDb(Object sender,EventArgs e)
{
  string connstring="Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("user.mdb")+";";
 OleDbConnection conn=new OleDbConnection(connstring);

 OleDbCommand cmd=new OleDbCommand();
 cmd.CommandText="select * from ursers where userid='"+TextBox1.Text+"'";
 cmd.Connection=conn;

try
  {
    conn.Open();
    OleDbDataReader reader=cmd.ExecuteReader();
    if(reader.Read())
     {
        Label1.Text="已经有记录,无法添加";
     }
    else
     {
        reader.Close();
        string insert="insert into [users](userid,pwd)"+"values('"+TextBox1.Text+"','"+TextBox2.Text+"')";
    cmd=new OleDbCommand();
    cmd.CommandText=insert;
    cmd.Connection=conn;
    cmd.ExecuteNonQuery();
     Label1.Text="添加成功";
'转换成xml
    OleDbDataAdapter aCmd=new OleDbDataAdapter("select * from users",conn);
    DataSet ds=new DataSet();
    aCmd.Fill(ds,"users");
    ds.WriteXml("writetoXml.xml");
    }
  conn.Close();
  }
catch(OleDbException ex)
  {
     Response.Write(ex.Errors[0].Message);
     Label1.Text="请检查代理是否有误";
 }
}

</script>

<form runat=server>
<asp:TextBox id="TextBox1" runat=server />
<asp:TextBox id="TextBox2" runat=server />
<asp:Button id="btn" runat=server Text="添加" onClick=addDb />
</form>

/*========Xml转换========================*/

xmltohtml.xsl

<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" />
<xsl:template match="/">
 <html>
   <head>
    <title><xsl:value-of select="NewDataSet/users/userid" /></title>
   </head>
  <xsl:apply-templates />
 </html>
</xsl:template>
<xsl:template match="NewDataSet">
<body>
  <xsl:apply-templates />
</body>
</xsl:template>

<xsl:template match="users/userid">
<xsl:apply-templates />
</xsl:template>

<xsl:template match="users">
<table bgcolor="#dcdcdc" bordercolor="green">
  <tr>
   <td onMouseOut="this.style.backgroundColor='cdcdcd'" onMouseOver="this.style.backgroundColor='#ededed'" width="50">
      <xsl:value-of select="userid" />
   </td>
 </tr>
  <tr>
   <td onMouseOut="this.style.backgroundColor='cdcdcd'" onMouseOver="this.style.backgroundColor='#ededed'" width="50">
     <xsl:value-of select="pwd" />
   </td>
 </tr>
</table>
<hr color=red />
</xsl:template>
</xsl:stylesheet>
  
/*================显示页面======================*/
show.aspx

<%@ Page Language="C#" debug=true %>
<%@ import namespace="System.IO" %>
<%@ import namespace="System.Text" %>
<%@ import namespace="System.Xml" %>
<%@ import namespace="System.Xml.Xsl" %>

<script runat=server>
void Page_Load(Object sender,sender,EventArgs e)
{
    XmlDocument doc=new XmlDocument();
    doc.Load(Server.MapPath("writetoXml.xml"));
   XslTransform xslt=new XslTransform();
    xslt.Load(Server.MapPath("xmltohtml.xsl"));

   XmlText.Document=doc;
   XmlText.Transform=xslt;
}
</script>

<form runat=server>
<asp:xml id="XmlText" runat=server />
</form>

抱歉!评论已关闭.