ASP 写入XML
ASP应用开发与实战第11章 ASP与XML高级编程
11.1.1
XML文档结构
XML是一套定义语义标记的规则,也是用来定义其他标识语言的元标识语言。使用XML时,首先 创建类似HTML的标识语言,然后再应用创建的标识语言显示信息。 下面介绍一个简单的XML文档的实例,通过这个文档可以让读者了解XML文档的基本结构。代码 如下:
<?xml version="1.0"?> <!-- 说明是XML文档,并指出XML文档的版本号--> <?xml-stylesheet type=“text/css”href=“style.css”?><!-- 表示引用的CSS样式表文件--> <!-- 这是XML文档的注释 --> <BOOKS> <!-- 定义XML文档的根元素--> <name1>xxx科技</name1 > <!-- 定义XML文档元素--> <address>长春市xxx大街</address> <cation> <BOOK> <titles>ASPxxxx技术</titles> <!-- 定义XML文档元素--> <ye>76x</ye> </BOOK> <BOOK> <titles>SQLxxxx技术</titles> <ye>52x</ye> </BOOK> <!-- XML文档元素结束符--> </cation> </BOOKS>
11.1.3 定义XML文档中的元素属性
元素所有的属性只能在元素的开始标签和空元素标签中出现。属性必须被声明,属性值必须是 其声明的类型。 在一个元素的起始标记中,可以自定义一个或多个属性。属性是依附于元素存在的,另外,属 性值需要用单引号或者双引号括起来。 例如,给元素BOOK定义属性Type,用于说明书籍的类别。代码如下:
asp10
典型XML文件 典型XML文件
一个典型XML文件中除了会出现标记和属性外, 一个典型XML文件中除了会出现标记和属性外,还会出现 其他内容,比如 XML声明 , 注释等。 程序10- 03. xml文件 其他内容 ,比如XML声明, 注释等 。 程序 10- 03. xml文件 给出了一个典型的XML文档的结构。 给出了一个典型的XML文档的结构。 XML文档总体上包括两部分:序言(Prolog) XML文档总体上包括两部分:序言(Prolog)和文档元素 ( Document Elements)。 序 言 中 包 含 XML 声 明 ( XML Elements) Declaration) 处理指令( Declaration)、处理指令(Processing Instructions)和注释 Instructions) (Comments);而文档元素中包含各种元素(Elements)、 Comments) 而文档元素中包含各种元素(Elements) 属性( Attributes) 文本内容( 属性 ( Attributes)、 文本内容 ( Textual Content)、 字符 Content) 和实体引用( 和实体引用(Character and Entity References)、CDATA References) 区等。 区等。
字符和实体引用
字符和实体引用可以向XML文档中引入其他信息, 字符和实体引用可以向XML文档中引入其他信息,而不需 要直接在文档中输入它们。 要直接在文档中输入它们。字符和实体引用通常用于以下 情况。 情况。
(1)字符不能直接出现在文档中,因为它们会被解释为标记。 字符不能直接出现在文档中,因为它们会被解释为标记。 (2)由于输入设备的限制,字符不能直接输入到文档中。 由于输入设备的限制,字符不能直接输入到文档中。 (3)由于单字节字符的限制,字符不能可靠地经过处理程序。 由于单字节字符的限制,字符不能可靠地经过处理程序。 (4)相同的字符串或文档片断在文档中多次使用。 相同的字符串或文档片断在文档中多次使用。
ASP CSS在XML中的应用
font-weight:bold;
color:blue;
vertical-align:bottom;
}
上述代码主要实现的功能是对XML文档中的各个节点进行样式设置。
(5)执行上述代码,在浏览器中打开math.xml文件,如图6-1所示。
图6-1执行结果
left=100;
}
formula{ display:list-item;
list-style-type:lower-roman;
margin-left:60;
font-size:14pt;
color:black;
}
molecular{ display:list-item;
list-style-type:decimal;
ASP
在XML文件中,可以使用CSS样式对XML文件中的内容进行修饰。当XML在浏览器中打开时,会出现如HMTL一样的效果。本练习中,通过CSS与XML的结合,在XML中显示数学公式和化学公式。
(1)新建math.xml的XML文档。新建记事本,重命名文件为math.xml。
(2)打开XML文件,在文件中输入以下内容并保存。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="style.css" type="text/css" ?>
<xml-body>
<math>几个数学公式:
<fHale Waihona Puke rmula>平方和公式:
(A+B)<sup>2</sup>=
ASP XML实例
ASP XML实例
在前面介绍了如何使用DOM操作HTML文档,在本节在JavaScript中通过创建Msxml2.DOMDocument对象,来实现加载并显示一个XML文档的操作。
首先创建Msxml2.DOMDocument对象。
微软提供了MSXML控件来支持XML 操作,目前MSXML从旧到新有以下几个版本:
●Microsoft.XmlDom
●MSXML2.DOMDocument
●MSXML2.DOMDocument.3.0
●MSXML2.DOMDocument.4.0
●MSXML2.DOMDocument.5.0
接下来了解实例中用到的XML文件emp.xml,它保存的是员工信息,该文件的代码如下所示:
ee的属性name、节点job及节点salary分别代表员工的姓名、职业及工资。
该文件
在上述代码中,由于body标记中加入了“onLoad="loadXML()"”,所以在加载
接口读取XML文档信息,并利用这些信息形成一个新的员工信息表格,并呈现出来。
这里makeTable函数就是实现员工信息表的创建与呈现。
另外,读者也许会注意到了按钮“添加”的事件onclick="addRow()",其中函数addRow()用于当用户输入会员信息,单击“添加”按钮后将该会员信息在下面的表中显示出来。
该实例的呈现效果如图6-13所示。
图6-13 使用DOM操作XML文档。
ASP 创建工资XML文档
ASP 创建工资XML文档
本扩展练习的目的是:创建一个工资信息的XML文档。
根据本章中所介绍的XML内容,保证创建的XML文档都包含XML声明并且格式是正确的。
(1)创建一个命名为Wage.xml的HTML页面,用来实现用户注册信息的填写。
左键单击【文件】|【新建】命令,弹出【新建文档】对话框,在对话框的【文件类型】中选择【XML】,单击【创建】按钮。
(2)左键单击【文件】|【保存】命令,弹出另存为对话框。
在对话框的【文件名】中输入Wage.xml,【保存类型】的下拉列表框中选择“ALL Documents”,单击【保存(S)】按钮。
(3)在XML文件中输入以下代码并保存。
(4)在浏览器中打开Wage.XML文件,如图6-9所示。
图6-9 执行结果。
ASP 根据数据库数据,创建XML文件
ASP 根据数据库数据,创建XML文件
下面再通过一个简单的实例,来实例Ajax的应用。
该实例,通过触发按钮,则自动提取数据库中的数据,并确认后生成XML文件。
文件名:toXML.html
该文件主要通过单击【getXML】按钮,则通过Ajax技术实现无刷新方式提取
文件名:new_xml.asp
该文件主要用来接收XmlHttpRequest对象打开该文件,实现输出XML文件的
文件名:create_XML.asp
最后,通过Ajax回调内容,即将new_xml.asp文件中输出的内容赋予一个变量,
现在,执行上述代码,则显示一个“loading…”和一个【getXML】按钮,如图7-10所示。
然后,单击【getXML】按钮,将显示从数据库中提取的内容,如图7-11所示。
图7-10 显示等待内容图7-11 显示提取的内容在弹出的提示信息框中,单击【确定】按钮,即可生成XML文件,如图7-12所示。
最后,在弹出的“创建XML文件成功!”信息框中,单击【确定】按钮,即可在该文件目录中查看已经创建Xml.xml文件,如图7-13所示。
图7-12 创建成功图7-13 查看所成生的xml文件。
ASP环境下XML的实现
关键 词 :X L DM 使 用 M; O;
中图分类号:T 3 3 0 P9.9
一
文献标识码 :0
文章编号 :1 7— 7 1 (0 7 10 6 - 3 6 1 9 5 2 0 )0 -0 90
S t ol d =ro. i No e.e (u e) e p l e o t hl dstm n mbr No c d i
S t a No e ol o eci N d st () en me d =p l d. l o e.e 0 N hd im
< o t n > c ne t
( I ,一种是 基于文档树 的 DO 标 准 ,一种 是 AP) M
化文件的模型也一定是树状的。D M 解析器将 O
XML文档 一次性解析 ,生成一个 位于 内存 中的对 象树用 以描 述该文档 。 利用 D OM,可 以动态地 创建文档 ,遍历 文档 结构 ,添加 、修改 、删除文档 内容 ,改变文档 的显 示方式等 等 。 以这样说 , 可 文档代 表了文档 中的数 据 , DO 则代表 了如何去 管理这些数据 的方法。 而 M
三 、XMLD M 的使用 O
我们 以一个简单 的网上调查系统 为例 , 具体 来 探讨 在 AS 境中调用 D M 接 口来 实现对 XML P环 O 的控 制,并利用 XML数据 来存储信 息 ,达到 同用 数据 库存储 数据的功 能。 在这个 调查系统 中 , 们 我
要 实现如下功 能 : 调查 内容的显示 与接受用户 的投 票 ,以及 显示投票 结果 ;增加 、删 除与修改调 查。
基 于事件 的 S X。在 这里我们 主要探讨在 AS A P环 境 中怎样用 DO 来控制 X M ML。 二 、D OM 简介 D M ( cmet jcMoe O Dou n et d1 Ob )即文档对象模 型 ,是 H ML文档 以及 XML文档 的应用程序接 T 口, 是一种 与平 台和语 言无关 的接 口。它允许程序 和脚本动 态访 问和修 改文档 的内容 、 结构和类 型。 D OM 中的最基本对象 是 Noe从它又衍 生 出许多 d, 类 型的 No e有 Dou n, lmetAtiue 。 d, cmetEe n, tbt等 r 这 些 Noe会组成一个 树状 结构, 中包含 XML d 其
ASP 为XML添加属性
ASP 为XML添加属性
XML属性可以将一些额外的信息附加到元素上,从而使文档对元素数据特性的描述更加具体。
如果用户不希望通过子元素来描述元素的一些特性,则可以使用属性来存储。
属性一般在元素的开始标记中声明,由属性名和值构成。
在非空元素和空元素中的语法格式如下:
例如,用属性来描述一个各种手机的尺寸,代码如下所示:
在非空子元素待机王中,属性长度、宽度、厚度描述了手机的尺寸;而在空子元素智能机中的属性长度、宽度、厚度也是用于描述手机的尺寸。
在XML文档中,使用子元素和使用属性都可以实现对数据描述信息的存储。
例如,前面的XML文档使用子元素来描述,语句代码如下所示:
XML中,对于何时使用属性,何时使用子元素上并没有特定的规则而言,只能根据执行环境和需要来决定使用哪个表现方式。
但是,在文档中使用属性会引
发下列问题:
●属性不能包含多个重数值(子元素可以)。
●属性不容易扩展。
●属性不能够描述文档结构(子元素可以)。
●属性很难被程序代码处理。
●属性值很难通过DTD进行测试。
所以,还是建议读者尽量使用子元素而少用属性。
由于XML的高扩展性,所以数据在XML中需要经常增加或者修改。
如果将增加或者修改的数据放入到属性中,那么将非常不利于对数据的维护和更新。
ASP.NET下对XML文件内容的操作
列 ; 个 删 除列 。如 图 3所 示 。 一
; 0龋 04 1 i 26 与 0i .
,
一
,
维普资讯
r ur et n:
} i t x me T x f b Na . e t= =~ ) ( f
R s o s . re( < ci l g a e=a aci >lr e p n e W i s r t a u g j s r tae t p n v p t
第 2步: WeFr .sx 计窗体 中进行设 置。如 图 2 在 bo m1ap 设
所示 ,控 件 属 性见 下表 。
控
T nl t ni a T nl t ni a T n lt ni a
件
设置拄件的■性
I = lt l T = m D l Um Di  ̄ z I =山 d ∞ ; t m D 。 = I I =. 【 羽 ∞ ; t m D b^ 。 = I I =1 U  ̄f ; m =N l D ] s f T / ) u1
处理 。
E
墅 受
.. .
本 文 把 X 做 一 个 数 据 仓 库 ,讲 述 如何 对 X ML ML文 档 进 行 添 加 、插 入 、更新 、删 除 等 操 作 。
『———————一 .
二 、实 现
第 1 打开 V.E, [ 步: S N T 在 文件 】 [ 建】 [ 目】 一>新 一> 项 ,在
图 3
第 3步 :在 解 决 方 案 资 料 管 理 器 \prt X L项 目下建 立 oea r M o
一
个 X ML文 件 , 件 名 设 为 ue .m 。 文 sr x l s
第 4步: WeF r .sx c 在 bo m1 ap.s中添加如下代码 :
由ASP动态生成XML文档
的 一种 通 用 语 言 规 范 xML是 S GML( 标 则 米 源 于其 他 各 种 应 用 数 据 , 邮 件 、 录 如 目 准通 用 标 记 语 言 ) 的一 个 子 集 , 最 大优 点 清 单 、 务 报 告 等 。 第 二 种 数 据 来 源 的 目 其 商
5 0 2 72 8
要 】 本 文 简单舟 绍 了 X ML 语 言厦 其 与数据 库的 关 系, 出 了如 何用 AS 从数 据库 中动态 生 给 P
成 X L 文 档 并 按 XS 方 式 显 示 的 方 法 。 M L
【 关键词】 As X P, ML, S XL
X ML(X ̄ s l Ma p L r u g . e e ie n b  ̄u a g a e 扩 传 输 t
r c 】 i X ce 语 言 )查 询语 言 ( QL, ML shma . X XML 当 浏 览 器 请 求 访 问 一 个 A I文 件 时 . 务 < … > < tm( “ m ) % > <Ⅲ … S 服 < S x>< % ;Ii r( x ) > <f e e r m( ) % S x> QL QU L . I T等) 编程接 口( A D . S X. OM) 器 会 先 解 读 该 文 件 ; 到 HT 遇 ML或 X ML
据. 包括 文 车 、 像 和 声 音 , 且 可 以 由 用 图 并 户 进 行扩 展 以 处理 任 何特 殊 类 型 的数 据 。
1 X ML与 数 据 库 2 动态生成 X ML文 档
< ’ x, ai… < % … “1 e exln 0 a r i g gb 31 ’ > 2 2
asp添加、删除、修改xml文件中的节点
asp添加、删除、修改xml文件中的节点asp添加、删除、修改xml文件中的节点1.ASP显示xml文件中的所有节点2.ASP向xml文件中的添加节点3.ASP删除xml文件中某个节点4.使用asp修改xml中的节点1.ASP操作xml--显示xml文件中的所有节点通常是利用数据库来保存数据,但也可以使用xml文件来保存数据。
假设xml文件的内容是:test.xml<?xml version="1.0" encoding="gb2312"?><site><root><list><id>0</id><name>新浪</name><url></url><time>2007-11-1 10:10:10</time></list><list><id>1</id><name>google</name><url></url><time>2007-11-2 11:11:11</time></list></root></site>用来显示xml中的内容的asp文件index.asp<style>body {font-size:12px;}</style><%strSourceFile = Server.MapPath("./") & "\test.xml"''获取XML文件的路径这里根据你的虚拟目录不同而不同Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM") ''以自由线程创建一个XML对像objXML.load(strSourceFile)''把XML文件读入内存Set objRootsite = objXML.documentElement.selectSingleNode("root") ''选取root节点num=objRootsite.childNodes.length-1For i=0 To numresponse.write "网站名:"&objRootsite.childNodes.item(i).childNodes.item(1).text&"<ahref=""javascript:delxml("&objRootsite.childNodes.item(i).child Nodes.item(0).text&")"">删除</a> <a href=""editxml.asp?id="&objRootsite.childNodes.item(i).childN odes.item(0).text&""">修改</a>"response.write "网址:"&objRootsite.childNodes.item(i).childNodes.item(2).text&""response.write "添加时间:"&objRootsite.childNodes.item(i).childNodes.item(3).text&""next%><script>function delxml(id){if(!confirm("确定要删除吗?")) return false;location.href=''delxml.asp?id=''+id;}</script>注意:index.asp要与test.xml文件放在同一目录下。
asp.net创建XML文件方法
创建XML⽂件⽅法⽅法⼀:按照XML的结构⼀步⼀步的构建XML⽂档.通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的⽅法⼀:按照XML的结构⼀步⼀步的构建XML⽂档.通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的⽅法⼆:直接定影XML⽂档,然后保存到⽂件。
通过"XmlDocument"类中的"LoadXml"⽅法.aspx前台代码:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml"><head runat="server"><title></title></head><body><form id="form1" runat="server"><div><asp:Button ID="btn" runat="server" OnClick="btn1_OnClick" Text="创建xml的第⼀种⽅法" /><br /><asp:Button ID="btn2" runat="server" OnClick="btn2_OnClick" Text="创建xml的第⼆种⽅法" /></div></form></body></html>.cs后台代码实现如下:using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Text;using System.Xml;public partial class Default4 : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}//创建xml⽂件⽅法⼀protected void btn1_OnClick(object sender, EventArgs e){XmlText xmltext;XmlDocument xmldoc = new XmlDocument();//加⼊XML的声明段落XmlNode xmlnode = xmldoc.CreateXmlDeclaration("1.0", "gb2312", null);xmldoc.AppendChild(xmlnode);//加⼊⼀个根元素XmlElement xmlelem = xmldoc.CreateElement("", "bookstore", "");xmltext = xmldoc.CreateTextNode("");xmlelem.AppendChild(xmltext);xmldoc.AppendChild(xmlelem);//加⼊⼀个⼦元素XmlElement xmlelem1 = xmldoc.CreateElement("", "book", "");xmltext = xmldoc.CreateTextNode("");xmlelem1.AppendChild(xmltext);//为⼦元素"book"增加两个属性xmlelem1.SetAttribute("genre", "", "fantasy");xmlelem1.SetAttribute("ISBN", "2-3631-4");xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1);//创建三个⼦元素的⼦元素XmlElement xmlelem2 = xmldoc.CreateElement("", "title", "");xmltext = xmldoc.CreateTextNode("Oberon's Legacy");xmlelem2.AppendChild(xmltext);xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem2);XmlElement xmlelem3 = xmldoc.CreateElement("", "author", "");xmltext = xmldoc.CreateTextNode("Corets, Eva");xmlelem3.AppendChild(xmltext);xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem3);XmlElement xmlelem4 = xmldoc.CreateElement("", "price", "");xmltext = xmldoc.CreateTextNode("5.95");xmlelem4.AppendChild(xmltext);xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem4);xmldoc.Save(Server.MapPath("bookstore.xml")); //保存}//创建xml⽂件⽅法⼆protected void btn2_OnClick(object sender, EventArgs e){XmlDocument xmldoc = new XmlDocument(); //创建空的XML⽂档xmldoc.LoadXml("<?xml version='1.0' encoding='gb2312'?>" +"<bookstore>" +"<book genre='fantasy' ISBN='2-3631-4'>" +"<title>Oberon's Legacy</title>" +"<author>Corets, Eva</author>" +"<price>5.95</price>" +"</book>" +"</bookstore>");xmldoc.Save(Server.MapPath("bookstore2.xml")); //保存}}⽐较:第⼀种创建起来更加灵活,⽽第⼆种创建起来更加⽅便。
asp.netLinqToXml上手Descendants、Elements遍历节点
LinqToXml上⼿Descendants、Elements遍历节点⾸先准备⼀个简单但是常见的XML复制代码代码如下:<?xml version="1.0" encoding="utf-8" ?><userSet><userInfo id="1" name="Guozhijian"><profile><phoneNumber>138********</phoneNumber><country>China</country></profile></userInfo><userInfo id="2" name="Zhenglanzhen"><profile><phoneNumber>139********</phoneNumber><country>Korea</country></profile></userInfo></userSet>复制代码代码如下:private void Test1(){XDocument xdoc = XDocument.Load(@"UserSet.xml");var users = from u in xdoc.Descendants("userInfo")where u.Attribute("id").Value == "1"select u;foreach (var u in users){string name = u.Attribute("name").Value;Console.WriteLine(name);}}输出结果为:Guozhijian复制代码代码如下:private void Test2(){XDocument xdoc = XDocument.Load(@"UserSet.xml");var users = from u in xdoc.Root.Elements("userInfo")where u.Element("profile").Element("phoneNumber").Value == "139********"select u;foreach (var u in users){string name = u.Attribute("name").Value;Console.WriteLine(name);}}输出结果为:Zhenglanzhen注意:Descendants 可遍历某节点或⽂档下的所有⼦节点Elements 则是遍历当前节点或⽂档下⼀级的⼦节点(这点区别⾮常重要)⾮常简单的两个 class 已基本上满⾜普通的XML遍历。
ASP+XML
xml常规应用之asp读写文档本站整理网络搜集 2008-07-07 点击:75 字体:大中小我要评论xml一个简单的新闻发布系统的说起:首先,我们建立一个XML文档,命名为nnDB.xml:---------------------------------------nnDB.xml---------------------------------------<?xml version="1.0" encoding="GB2312"?><data><news></news></data>---------------------------------------nnDB.xml---------------------------------------接着,做一个发布的页面,这个发布页面连带了有新闻的显示列表,把他命名为post.asp 吧!---------------------------------------post.asp---------------------------------------<style>#news_list { width: 430px; float: left; border: 1px solid #CFCFCF; }#tt { width: 300px; float: left; border-top: 2px solid #CFCFCF; }#pt { width: 129px; float: right; border-top: 2px solid #CFCFCF; }#ct { width: 430px; float: left; border-top: 1px solid #CFCFCF; }#news_list li span { font-size: 12px; letter-spacing: 1px; font-family: Tahoma; }#c1 { width: 40px; float: left; padding: 5px 0px 5px 0px; background-color: #EFEFEF; font-weight: bold; color: #666; text-align: center; border: 1px solid#FFF; }#c2 { float: left; padding: 5px; font-size: 12px; color: #333; text-align: center; letter-spacing: 1px; border: 1px solid #FFF; }#c3 { width: 380px; float: right; margin: 0px 5px 0px 5px; padding: 3px 0px 3px 0px; text-align: right; color: #CCC; border-top: 1px dotted #CFCFCF; } </style><%Set XMLOBJ = Server.CreateObject("Microsoft.XMLDOM")XMLOBJ.async = FalseXMLOBJ.load Server.MapPath("nnDB.xml")Set news_root = XMLOBJ.documentElement.selectSingleNode("news")news_count = news_root.childNodes.lengthHTML_CODE = "<div id=""news_list"">"for i = 0 to news_count - 1Set temp_news = news_root.childNodes.item(i).childNodesHTML_CODE = HTML_CODE & "<li id=""tt""><span id=""c1"">标题</span><span id=""c2"">" & temp_news.item(3).text & "</span></li><liid=""pt""><span id=""c1"">作者</span><span id=""c2"">" &temp_news.item(4).text & "</span></li>"HTML_CODE = HTML_CODE & "<li id=""ct""><span id=""c1"">内容</span><span id=""c2"">" & temp_news.item(5).text & "</span><spanid=""c3"">发表时间:" & temp_news.item(2).text & "点击量:" &temp_news.item(6).text & "</span></li>"nextHTML_CODE = HTML_CODE & "</div>"Response.write HTML_CODE%><form id="form1" name="form1" method="post" action="save_DB.asp"> <p>新闻标题:<input type="text" name="tt" /></p><p>新闻作者:<input type="text" name="pt" /></p><p>新闻内容:<textarea name="ct" cols="50"rows="12"></textarea></p><p><input type="submit" name="Submit" value="提交" /><inputtype="reset" name="Submit2" value="重置" /></p></form>---------------------------------------post.asp---------------------------------------最后就是save_DB.asp,写入XML的页面:---------------------------------------save_DB.asp---------------------------------------<%' tt 作者pt 发布人ct 新闻内容tt = trim(Request.Form("tt")) ' trim 去空格pt = trim(Request.Form("pt"))ct = trim(Request.Form("ct"))time_now = now()' 抓时间,作为新闻条目的区别检索D_y = year(time_now)D_m = month(time_now)D_d = day(time_now)D_hr = hour(time_now)D_mi = minute(time_now)D_se = second(time_now)' PS:为何要用日期时间做新闻区别呢?我们假设,这个发布后台,只有你一个人可以访问,那么可以肯定一样东西:同一时间内,只可能发布一篇文章。
在ASP。NET中使用XML
13.3 使用的类访问
通过命名空间为开发人员提供了操作的所有功能。该命名空间包括许多类,常用类如表所示。
主要内容
13.1 的基本概念 13.2 使用访问 13.3 使用的类访问 13.4 的应用和发展前景 13.5 本章小结
13.2 使用访问
在前面已经讨论了如何使用访问数据库的问题。数据库是进行数据存储和管理的一种习惯的方式,现在,已逐步成为数据存储的一种新的方式,因此可以考虑将数据保存在文档中,并采用一定的方法对它进行管理。提供了对数据访问的功能。 下面介绍如何使用访问数据。
将数据库数据转换成
为了将数据库数据转换成文档,需要使用的方法。方法只要指明要保存的文档的路径和文件名,就可以将中数据以的形式保存到文档中。 详细操作见【例13-4】将数据库数据转换成文档。
读取文档
使用的 方法可以读取所有文档数据。读取操作见【例13-5】介绍读取文档的方法。
编辑文档
编辑文档的方法也很简单,只要使用的 方法把数据读到中之后,修改相应的记录值,再使用的方法保存文档就可以了。 详细操作见【例13-6】编辑文档。
将写入数据库
文本内容写入数据库与数据库的数据转换为是个相反的过程,需要用到的方法。下面列举一个简单的例子,将文档中仅有的学号为11和12的两位学生的数据,写入到数据库的表中。 详细操作见【例13-7】将写入数据库。
将数据转换为字符串
如果希望进行数据传输,则把数据读出之后形成字符串,即把数据当成字符串法进行处理。例如可以把数据写在一个普通的中发送给其他的用户,对方就可以采用普通字符串处理的方法得到数据。为了能够完成上述功能,还提供了将数据转换为字符串的方法。 详细操作见【例13-8】将数据转换为字符串。
ASP.NETXML序列化
XML序列化整理⼀下⾥⾯如何序列化实体为XML,获取解析XML内容为实体。
第⼀步要添加程序集引⽤,项⽬-->引⽤-->⿏标右键-->添加引⽤-->选择程序集-->System.Xml⼯具类代码///<summary>/// XML序列化公共处理类///</summary>public static class XmlSerializeHelper{///<summary>///将实体对象转换成XML///</summary>///<typeparam name="T">实体类型</typeparam>///<param name="obj">实体对象</param>public static string XmlSerialize<T>(T obj){try{using (StringWriter sw = new StringWriter()){Type t = obj.GetType();XmlSerializer serializer = new XmlSerializer(obj.GetType());XmlSerializerNamespaces ns = new XmlSerializerNamespaces();ns.Add("", "");//把命名空间设置为空serializer.Serialize(sw, obj,ns);sw.Close();return sw.ToString();}}catch (Exception ex){throw new Exception("将实体对象转换成XML异常", ex);}}///<summary>///将XML转换成实体对象///</summary>///<typeparam name="T">实体类型</typeparam>///<param name="strXML">XML</param>public static T DESerializer<T>(string strXML) where T : class{try{using (StringReader sr = new StringReader(strXML)){strXML = Regex.Replace(strXML, @"<\?xml*.*?>", "", RegexOptions.IgnoreCase);XmlSerializer serializer = new XmlSerializer(typeof(T));return serializer.Deserialize(sr) as T;}}catch (Exception ex){throw new Exception("将XML转换成实体对象异常", ex);}}}⽂件流转成XMLvar xmlDoc = new XmlDocument();try{var stream = new Stream();xmlDoc.Load(stream); //加载XML⽂档var entryInfo = XmlSerializeHelper.DESerializer<Model>(xmlDoc.OuterXml);if (entryInfo != null){// 逻辑处理}else{//逻辑处理}}catch (Exception ex){//异常处理}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ASP 写入XML
要操作XML文档还必须使用XMLDOM对象向XML文档写入信息,本节就介绍如何向XML文档中写入文件的内容,同样还是用实例来说明其基本的用法。
第一步要确定操作XML文档的位置,例如在当前目录下的“Groups.xml”文件:
即不同步更新:
为了确保写入XML文档的成功,在这里我们添加语句判断XML对象载入XM
个空节点,因此还要向这个节点插入内容,如下所示:
第一行语句创建名为gName的节点,然后使用其Text属性赋值,然后执行Ap pendChild方法将节点和内容插入到Group节点中去。
下面是使用同样的方法,插入gDescription节点:
如图7-15所示XML文档中还包含一个名为Member的节点,该节点是Group 的子节点,同时又是mName和mEmail节点的父节点。
使用上面的方法来创建一个
最后,将对XML文档所做的修改进行保存,也就是在操作后使用XmlDoc.Sav
如图7-16所示了测试成功语句以及写入后的XML文档。
写入后的
XML文档
测试成功语句
图7-16 写入XML文档的数据并显示。