又到了今日总结学习的时刻了
今天上了xml和SSH
时间紧迫,快点放毒吧。
1. 掌握ASP.NET中使用DOM对XML的基本操作。
2. 掌握对XML文件的读取操作
3. 掌握对XML文件的添加、修改、删除节点的操作
lab1.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Xml;
namespace lab1 { publicpartialclasslab1 : System.Web.UI.Page {
protectedvoid GetAllNodes(XmlNode node){ Response.Write("<br><b>节点名称"); Response.Write(node.LocalName); Response.Write("</b><br>节点类型"); Response.Write(node.NodeType); Response.Write("<br><b>节点值:"); if (node.NodeType == XmlNodeType.Element) { Response.Write(""); } else { Response.Write(node.InnerText); } if (node.HasChildNodes) { foreach (XmlNode d in node.ChildNodes) { GetAllNodes(d); } } } protectedvoid Page_Load(object sender, EventArgs e) { XmlDocument xmlDoc = newXmlDocument(); xmlDoc.Load(Server.MapPath("图书信息.xml")); GetAllNodes(xmlDoc);
} } } 在spy中写好的xml拖进vs即可 图书信息.xml <?xmlversion="1.0"encoding="GB2312"?> <Booklist> <Book> <BookID>000001</BookID> <BookType>计算机</BookType> <BookName>算法与数据结构</BookName> <Auth>严蔚敏陈文博</Auth> <Publisher>清华大学出版社</Publisher> <Price>24</Price> <PubDate>2002-1-1</PubDate> <Quantity>10</Quantity> </Book> <Book> <BookID>000002</BookID> <BookType>计算机</BookType> <BookName>软件工程导论</BookName> <Auth>张海藩</Auth> <Publisher>清华大学出版社</Publisher> <Price>5.4</Price> <PubDate>1987-6-1</PubDate> <Quantity>5</Quantity> </Book> <Book> <BookID>000003</BookID> <BookType>计算机</BookType> <BookName>XML/JSP网页编程教材</BookName> <Auth>吴艾</Auth> <Publisher>北京希望电子出版社</Publisher> <Price>46</Price> <PubDate>2001-7-1</PubDate> <Quantity>15</Quantity> </Book> <Book> <BookID>000012</BookID> <BookType>工具</BookType> <BookName>汉语成语字典</BookName> <Auth>李一华吕德申</Auth> <Publisher>四川辞书出版社</Publisher> <Price>12</Price> <PubDate>1992-1-1</PubDate> <Quantity>10</Quantity> </Book> <Book> <BookID>000016</BookID> <BookType>机械</BookType> <BookName>机电控制工程</BookName> <Auth>高钟毓王永梁</Auth> <Publisher>清华大学出版社</Publisher> <Price>19.8</Price> <PubDate>1994-9-1</PubDate> <Quantity>19</Quantity> </Book> <Book> <BookID>000018</BookID> <BookType>工具</BookType> <BookName>英华大字典</BookName> <Auth>郑易里</Auth> <Publisher>商务印书馆</Publisher> <Price>18.5</Price> <PubDate>1984-11-1</PubDate> <Quantity>2</Quantity> </Book> </Booklist>
在spy中新建asp <%@ Language=VBScript %> <% set xmlDoc=Server.createObject("Microsoft.XMLDom") dim MyNode,namedNodeMap xmlDoc.load(Server.MapPath("图书信息.xml")) '获取节点为信息 getallnodes(xmlDoc)
'子程序,在获得节点信息时 sub getallnodes(node) dim I '当前节点信息 Response.write("<br><b>节点名称:") Response.write(node.nodeName) Response.write("</b><br>节点类型:") Response.write(node.nodeTypeString) Response.write("<br>节点值:") Response.write(node.nodeValue) '获得子节点信息 if node.childNodes.length<>0 then for i=0 to node.childNodes.length-1 getallnodes(node.childNodes(i)) next end if end sub %>
打开webserver服务器。 显示asp。 |
Iis 节点值是document
Webserver:节点值是Element
|
lab2.aspx <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="lab2.aspx.cs"Inherits="lab1.lab2" %>
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml"> <headrunat="server"> <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/> <title></title> </head> <body> <formid="form1"runat="server"> <div> BookID: <asp:TextBoxID="textbox1"runat="server"></asp:TextBox><br/> BookType: <asp:TextBoxID="textbox2"runat="server"></asp:TextBox><br/> BookName: <asp:TextBoxID="textbox3"runat="server"></asp:TextBox><br/> Auth: <asp:TextBoxID="textbox4"runat="server"></asp:TextBox><br/> Publisher: <asp:TextBoxID="textbox5"runat="server"></asp:TextBox><br/> Price: <asp:TextBoxID="textbox6"runat="server"></asp:TextBox><br/> PubDate: <asp:TextBoxID="textbox7"runat="server"></asp:TextBox><br/> Quantity: <asp:TextBoxID="textbox8"runat="server"></asp:TextBox><br/> <asp:ButtonID="button1"runat="server"OnClick="btn1_click"Text="输出所有节点"/> <asp:ButtonID="button2"runat="server"OnClick="btn2_click"Text="添加一个节点"style="height: 21px"/> </div> </form> </body> </html>
lab2.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Xml; namespace lab1 { publicpartialclasslab2 : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) {
} string filePath = "G:\\大三下学期\\15219111419仇飞鸿实验11 .NET中XML操作(一)\\图书信息.xml"; publicvoid getAllElements() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(filePath); XmlNodeList nodelist = xmlDoc.SelectNodes("/Booklist/Book"); Response.Write("所有节点:"+"<br>"); for (int i=0;i<nodelist.Count;i++) { //Response.Write("BookID:" + nodelist.Item(i).Attributes["BookID"].Value); //Response.Write("ID:"+nodelist.Item(i).Attributes["ID"].Value); Response.Write(""); for (int j=0;j<nodelist.Item(i).ChildNodes.Count;j++) { Response.Write(nodelist.Item(i).ChildNodes[j].Name+":"); Response.Write(nodelist.Item(i).ChildNodes[j].InnerText); Response.Write("<br>"); } Response.Write("<br>"); } } publicvoid getOneElements() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(filePath);
XmlNode root = xmlDoc.SelectSingleNode("Booklist");
XmlElement xel = xmlDoc.CreateElement("Book");
xel.SetAttribute("BookID", textbox1.Text.Trim());
XmlElement xesub0 = xmlDoc.CreateElement("BookID"); xesub0.InnerText = textbox2.Text.Trim(); xel.AppendChild(xesub0);
XmlElement xesub1 = xmlDoc.CreateElement("BookType"); xesub1.InnerText = textbox2.Text.Trim(); xel.AppendChild(xesub1);
XmlElement xesub2 = xmlDoc.CreateElement("BookName"); xesub2.InnerText = textbox3.Text.Trim(); xel.AppendChild(xesub2); XmlElement xesub3 = xmlDoc.CreateElement("Auth"); xesub3.InnerText = textbox4.Text.Trim(); xel.AppendChild(xesub3); XmlElement xesub4 = xmlDoc.CreateElement("Publisher"); xesub4.InnerText = textbox5.Text.Trim(); xel.AppendChild(xesub4); XmlElement xesub5= xmlDoc.CreateElement("Price"); xesub5.InnerText = textbox6.Text.Trim(); xel.AppendChild(xesub5); XmlElement xesub6 = xmlDoc.CreateElement("PubDate"); xesub6.InnerText = textbox7.Text.Trim(); xel.AppendChild(xesub6); XmlElement xesub7 = xmlDoc.CreateElement("Quantity"); xesub7.InnerText = textbox8.Text.Trim(); xel.AppendChild(xesub7);
root.AppendChild(xel); xmlDoc.Save(filePath); getAllElements(); }
protectedvoid btn1_click(object sender, EventArgs e) { getAllElements(); }
protectedvoid btn2_click(object sender, EventArgs e) { getOneElements(); } } }
|
显示全部节点:
添加一个节点: |