XML & ASP.NET Nipat J. Nipat J.
1. Display XML data on the web Nipat J. Nipat J.
Steps: 1. สร้างไฟล์ชื่อ test.xml และบันทึกไว้ในโฟล์เดอร์ App_Data <?xml version="1.0" encoding="utf-8" ?> <mydatabase> <customer> <CustomerID>C001</CustomerID> <Name>Nipat Jongsawat</Name> <Email>nipatj@yahoo.com</Email> <CountryCode>TH</CountryCode> <Budget>1,000,000</Budget> <Used>600,000</Used> </customer> <customer> <CustomerID>C002</CustomerID> <Name>Wichian premchaiswadi</Name> <Email>wichian@siam.edu</Email> <CountryCode>EN</CountryCode> <Budget>2,000,000</Budget> <Used>800,000</Used> </customer> Nipat J. Nipat J.
Steps: <customer> <CustomerID>C003</CustomerID> <Name>Anucha Tungkasthan</Name> <Email>aimdala@hotmail.com</Email> <CountryCode>US</CountryCode> <Budget>3,000,000</Budget> <Used>600,000</Used> </customer> <customer> <CustomerID>C004</CustomerID> <Name>Walisar Romsaiyud</Name> <Email>walisar@gmail.com</Email> <CountryCode>US</CountryCode> <Budget>4,000,000</Budget> <Used>100,000</Used> </customer> </mydatabase> Nipat J. Nipat J.
Steps: 2. สร้างไฟล์ชื่อ TestXml.aspx เพิ่ม Code ในหน้า “Source” <%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestXml.aspx.cs" Inherits="TestXml" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Test Reading XML</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Xml ID="myXml" runat="server"></asp:Xml> </div> </form> </body> </html> Nipat J. Nipat J.
Steps: 3. เพิ่ม Code ในไฟล์ “TestXml.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.Data; using System.Xml; using System.Xml.Xsl; public partial class TestXml : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { XmlDocument doc = new XmlDocument(); String XmlURL = Server.MapPath("~/App_Data/test.xml"); doc.Load(XmlURL); myXml.Document = doc; } } Nipat J. Nipat J.
Steps: 4. ตั้งค่า TestXml.aspx” เป็น Start page แล้วทดลอง Run โปรแกรม ผลลัพธ์แสดงดังนี้ Nipat J. Nipat J.
2. Log In using XML Nipat J. Nipat J.
Steps: 1. สร้างไฟล์ชื่อ AllUser.xml และบันทึกไว้ในโฟล์เดอร์ App_Data <?xml version="1.0" encoding="utf-8" ?> <Staff> <User> <username>admin</username> <password>admin</password> </User> <User> <username>nipat</username> <password>nipat</password> </User> </Staff> Nipat J. Nipat J.
Steps: 2. สร้างไฟล์ชื่อ Login.aspx 2.1 เลือก Control “login” และกำหนด format ของ Control 3. สร้างไฟล์ชื่อ Welcome.aspx และพิมพ์ข้อความ “welcome to this page” Nipat J. Nipat J.
Steps: 4. Double Click ที่ Control “Login” และพิมพ์ source code ดังนี้ using System.Web; using System.Xml; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) { string username; string pwd; string CurrentUser = ""; string CurrentPwd = ""; bool LoginStatus = false; Nipat J. Nipat J.
Steps: username = Login1.UserName; pwd = Login1.Password; XmlDocument xd = new XmlDocument(); xd.Load(Server.MapPath("~/App_Data/AllUser.xml")); XmlNodeList xnl = xd.GetElementsByTagName("User"); foreach (XmlNode xn in xnl) { XmlNodeList cxnl = xn.ChildNodes; foreach (XmlNode cxn in cxnl) { if (cxn.Name == "username") { if (cxn.InnerText == username) { CurrentUser = username; } } Nipat J. Nipat J.
Steps: if (cxn.Name == "password") { if (cxn.InnerText == pwd) { CurrentPwd = pwd; } } } if ((CurrentUser != "") & (CurrentPwd != "")) { LoginStatus = true; } } if (LoginStatus == true) { Session["UserAuthentication"] = username; Session.Timeout = 1; Response.Redirect("Welcome.aspx"); } Nipat J. Nipat J.
else { Session["UserAuthentication"] = ""; } } } Steps: else { Session["UserAuthentication"] = ""; } } } Nipat J. Nipat J.
Steps: 5. ตั้งค่า Login.aspx” เป็น Start page แล้วทดลอง Run โปรแกรม ผลลัพธ์แสดงดังนี้ Nipat J. Nipat J.
3. Display XML data using DataGrid Nipat J. Nipat J.
Steps: 1. สร้างไฟล์ชื่อ NewEmployees.xml และบันทึกไว้ในโฟล์เดอร์ App_Data <?xml version="1.0" encoding="utf-8" ?> <employees> <employee id="1"> <firstName>Nancy</firstName> <lastName>Lee</lastName> <city>Seattle</city> <state>WA</state> <zipCode>98122</zipCode> </employee> <employee id="2"> <firstName>Jason</firstName> <lastName>Wang</lastName> <city>Vancouver</city> <state>WA</state> <zipCode>98123</zipCode> </employee> </employees> Nipat J. Nipat J.
Steps: 2. สร้างไฟล์ชื่อ GridXML.aspx 2.1 เลือก Control “GridView” จาก Toolbox “Data” 2.2 กำหนด ID ของ Control “GridView” เป็นชื่อ “dgEmployees” 2.3 สร้างปุ่มที่มีข้อความ “Display data from XML” และกำหนด ID ของ Control Button “btnDisplay” 2.4 Double Click ปุ่ม btnDisplay Nipat J. Nipat J.
Steps: 3. พิมพ์ code ดังต่อไปนี้ using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.OleDb; public partial class GridXML : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnDisplay_Click(object sender, EventArgs e) { DataSet objDataSet = new DataSet(); objDataSet.ReadXml(Server.MapPath("~/App_Data/NewEmployees.xml")); dgEmployees.DataSource = objDataSet.Tables[0].DefaultView; dgEmployees.DataBind(); } } Nipat J. Nipat J.
4.ตั้งค่า GridXML.aspx” เป็น Start page แล้วทดลอง Run โปรแกรม Steps: 4.ตั้งค่า GridXML.aspx” เป็น Start page แล้วทดลอง Run โปรแกรม Nipat J. Nipat J.
4. Write XML data Nipat J. Nipat J.
Steps: 1. สร้างไฟล์ชื่อ WriteXml.aspx 1.1 สร้างปุ่มที่มีข้อความ “Create XML” และกำหนด ID ของ Control Button “btnCreateXml” 1.2 Double Click ปุ่ม btnCreateXml Nipat J. Nipat J.
Steps: 2. พิมพ์ source code ดังต่อไปนี้ using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Xml; public partial class WriteXml : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnCreateXml_Click(object sender, EventArgs e) { // *** XmlTextWriter XmlTextWriter myXmlWriter = new XmlTextWriter(Server.MapPath("~/App_Data/writeXML.xml"), null); myXmlWriter.Formatting = Formatting.Indented; myXmlWriter.Indentation = 4; Nipat J. Nipat J.
Steps: // <!--http://forum.coolwebawards.com--> myXmlWriter.WriteComment("http://forum.coolwebawards.com"); // <Products> myXmlWriter.WriteStartElement("Products"); int i = 0; for (i = 1; i <= 3; i++) { myXmlWriter.WriteStartElement("Product");// see next line myXmlWriter.WriteAttributeString("Id", i.ToString());// <Product id=""> //<price>price element text for ID 1</price> myXmlWriter.WriteElementString("price", "price element text for ID " + i.ToString()); // <weight>price element text for ID 1</price> myXmlWriter.WriteElementString("weight", "weight element text for ID " + i.ToString()); // <description>description element text for ID 3</description> | Just an example of //how to write raw data myXmlWriter.WriteRaw(Environment.NewLine + " <description>description element text for ID " + i.ToString() + "</description>" + Environment.NewLine); myXmlWriter.WriteEndElement();//</Product> } myXmlWriter.WriteEndElement();// </Products> myXmlWriter.Close(); } } Nipat J. Nipat J.
3.ตั้งค่า WriteXML.aspx” เป็น Start page แล้วทดลอง Run โปรแกรม Steps: 3.ตั้งค่า WriteXML.aspx” เป็น Start page แล้วทดลอง Run โปรแกรม ไฟล์ writeXML ถูกสร้างขึ้นมา ข้อมูลในไฟล์ writeXML.xml Nipat J. Nipat J.
แบบทดสอบท้ายบท สร้างไฟล์ .xml สำหรับบรรจุข้อมูลการลงทะเบียน เรียนของนักศึกษาจำนวน 10 คน และสร้าง website เพื่อเรียกข้อมูลการลงทะเบียนเรียนมา แสดงผล Nipat J.
แบบทดสอบท้ายบท กรอกข้อมูล และ click ปุ่ม “Create XML” เพื่อ สร้างไฟล์ .xml และ click ปุ่ม “Display” เพื่อ แสดงผลข้อมูล xml ผ่าน grid view Nipat J.
ตัวอย่าง Read/Write XML ให้สร้าง Interface ดังนี้ btnWriteXML btnReadXML lstDisplayXML Nipat J.
ทดสอบ Read/Write XML -- ให้สร้าง Interface ดังนี้ โจทย์ ให้กรอกข้อมูลผ่าน text box คลิ๊ก “Write XML” เพื่อบันทึกข้อมูลลงไฟล์ xml จากนั้น คลิ๊ก “Read XML” เพื่อแสดงผลข้อมูลใน list box *** ให้แสดงข้อมูลต่อกันตามลำดับการป้อนข้อมูล Nipat J.
Practice for next week Exam. Web Page แสดงข้อมูลรถทั้งหมด เลือกแสดงเฉพาะยี่ห้อได้ เช่น Toyota ค้นหาข้อมูลเฉพาะได้ เช่น สี white pearl ค้นหาข้อมูลเฉพาะได้ เช่น แอร์ digital อื่นๆ ที่จำเป็น สร้าง XML UsedCars.xml <UsedCar> <CarId>…</CarId> <Model>…</Model> <Color>…</Color> <Engine>…</Engine> <Option>…</Option> <Air>…</Air> ….. <Price>…</Price> </UsedCar> Nipat J.
Homework ComputePrice Web Service - ComputeMonthlyPay() สร้าง XML UsedCars.xml <Car> <CarId>…</CarId> <Model>…</Model> <Color>…</Color> <Engine>…</Engine> <Price>…</Price> <Interest>…</Interest> <MonthlyPay>…</ MonthlyPay > </Car> UsedCars.aspx - แสดงข้อมูล UsedCars.xml และสามารถ search model รถยนต์ได้ Nipat J.
รวมถึงพัฒนา web services ในการคำนวณโปรโมชั่นได้ Run ได้ 10%, ความสมบูรณ์ 10%, ความยาก 10% Test 30% (Mon.) ออกแบบ web ร้านรถยนต์มือสองที่มีความสามารถในการแสดงผลและประมวลผลข้อมูล (นักศึกษาออกแบบเองตามที่ได้ศึกษามา) รวมถึงพัฒนา web services ในการคำนวณโปรโมชั่นได้ กำหนดโปรโมชั่นประจำ Summer (ลดจากราคาป้าย) จะได้ส่วนลดเมื่อไฟแนนซ์ผ่าน รถยุโรป รถปี 2010 – 2015 ลด 8 % 2005 – 2009 10 % ต่ำกว่า 2005 12 % รถญี่ปุ่น รถปี 2010 – 2015 ลด 6 % 2005 – 2009 8 % ต่ำกว่า 2005 10 % ***หากซื้อเงินสดลดเพิ่มอีก 1% Nipat J.
Test 30% (Wed.) ออกแบบ web ร้านรถยนต์มือสองที่มีความสามารถในการแสดงผลและประมวลผลข้อมูล (นักศึกษาออกแบบเองตามที่ได้ศึกษามา) รวมถึงพัฒนา web services ในการคำนวณการผ่อนค่างวดรถยนต์กับบริษัทไฟแนนซ์ได้ กำหนดดอกเบี้ย รถปี 2010 – 2015 3.85 % 2005 – 2009 4.14 % ต่ำกว่า 2005 4.50 % Run ได้ 10%, ความสมบูรณ์ 10%, ความยาก 10% Nipat J.