Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
182,77 KB
Nội dung
XMLin .NE XMLin .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 7: i 7:XMLin.NETXMLin.NET Đo Đo à à n Quang Minh n Quang Minh minhdqtt@gmail.com minhdqtt@gmail.com http http ://www.VTPortal.net ://www.VTPortal.net Last update: Last update: 30. December 2006 30. December 2006 XMLin .NE XMLin .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 2 2 M M ụ ụ c l c l ụ ụ c c XML Overview XML Overview Đ Đ ọ ọ c c XMLXML Ghi Ghi XMLXML DOM DOM trong trong .NET.NET Ứ Ứ ng ng d d ụ ụ ng ng XMLin .NE XMLin .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 3 3 XML Overview XML Overview XML l XML l à à g g ì ì – – XMLXML – – Extensible Markup Language: ngôn ng Extensible Markup Language: ngôn ng ữ ữ đ đ ị ị nh d nh d ạ ạ ng m ng m ở ở r r ộ ộ ng. ng. – – XML đư XML đư ợ ợ c đ c đ ị ị nh ngh nh ngh ĩ ĩ a b a b ở ở i w3c (World Wide Web Consortium): t i w3c (World Wide Web Consortium): t ổ ổ ch ch ứ ứ c c m m ạ ạ ng to ng to à à n c n c ầ ầ u. u. – – Th Th ự ự c ch c ch ấ ấ t, XML l t, XML l à à ngôn ng ngôn ng ữ ữ t t ổ ổ ng qu ng qu á á t d t d ù ù ng đ ng đ ị ị nh ngh nh ngh ĩ ĩ a d a d ữ ữ li li ệ ệ u thông u thông qua c qua c á á c th c th ẻ ẻ . . Ngôn ng Ngôn ng ữ ữ đ đ ị ị nh d nh d ạ ạ ng ng – – Bao Bao g g ồ ồ m m m m ộ ộ t t t t ậ ậ p p c c á á c c th th ẻ ẻ , , v v à à d d ữ ữ li li ệ ệ u u ch ch ứ ứ a a trong trong c c á á c c th th ẻ ẻ đ đ ó ó . . V V í í d d ụ ụ , , HTML HTML l l à à m m ộ ộ t t lo lo ạ ạ i i ngôn ngôn ng ng ữ ữ đ đ ị ị nh nh d d ạ ạ ng ng . . – – Trong Trong XML, XML, c c á á c c th th ẻ ẻ không không h h ạ ạ n n ch ch ế ế như như HTML. HTML. Ngư Ngư ờ ờ i i s s ử ử d d ụ ụ ng ng c c ó ó th th ể ể t t ự ự do do đ đ ị ị nh nh ngh ngh ĩ ĩ a a c c á á c c th th ẻ ẻ c c ủ ủ a a m m ì ì nh nh . . – – C C á á c c ưu ưu đi đi ể ể m m : : D D ễ ễ d d à à ng ng trao trao đ đ ổ ổ i i d d ữ ữ li li ệ ệ u u : do : do khuôn khuôn d d ạ ạ ng ng XMLXML r r ấ ấ t t d d ễ ễ hi hi ể ể u u . XML . XML còn còn đư đư ợ ợ c c g g ọ ọ i i l l à à d d ữ ữ li li ệ ệ u u t t ự ự mô mô t t ả ả . . Kh Kh ả ả năng năng tu tu ỳ ỳ bi bi ế ế n n cao cao : : vi vi ệ ệ c c c c ụ ụ th th ể ể ho ho á á c c á á c c th th ẻ ẻ c c ủ ủ a a XMLXML s s ẽ ẽ t t ạ ạ o o ra ra m m ộ ộ t t lo lo ạ ạ t t c c á á c c ngôn ngôn ng ng ữ ữ m m ớ ớ i i , , v v í í d d ụ ụ MML, CML. MML, CML. C C ó ó th th ể ể lưu lưu d d ữ ữ li li ệ ệ u u c c ó ó c c ấ ấ u u tr tr ú ú c c : : d d ự ự a a trên trên vi vi ệ ệ c c s s ử ử d d ụ ụ ng ng c c á á c c th th ẻ ẻ l l ồ ồ ng ng nhau nhau . . XMLin .NE XMLin .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 4 4 XML Overview XML Overview <? xml version= <? xml version= “ “ 1.0 1.0 ” ” encoding= encoding= “ “ UTF UTF - - 8 8 ” ” ?> ?> <Document> <Document> <Greeting> <Greeting> Hello from XML Hello from XML </Greeting> </Greeting> <Message> <Message> Welcome to the wild and woolly world of Welcome to the wild and woolly world of XML. XML. </Message> </Message> </Document> </Document> XMLin .NE XMLin .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 5 5 XML Overview XML Overview C C á á c c ứ ứ ng ng d d ụ ụ ng ng c c ụ ụ th th ể ể c c ủ ủ a a XMLXML – – XHTML: XHTML: đây đây l l à à m m ở ở r r ộ ộ ng ng c c ủ ủ a a HTML. HTML. V V ề ề b b ả ả n n ch ch ấ ấ t t , XHTML , XHTML d d ù ù ng ng c c á á c c th th ẻ ẻ c c ủ ủ a a HTML, HTML, c c á á c c th th ẻ ẻ n n à à y y ph ph ả ả i i vi vi ế ế t t thư thư ờ ờ ng ng , , v v à à t t à à i i li li ệ ệ u u XHTML XHTML ph ph ả ả i i l l à à t t à à i i li li ệ ệ u u h h ợ ợ p p khuôn khuôn d d ạ ạ ng ng . . – – CML, MML: CML, MML: c c á á c c ngôn ngôn ng ng ữ ữ bi bi ể ể u u di di ễ ễ n n công công th th ứ ứ c c ho ho á á h h ọ ọ c c , , công công th th ứ ứ c c to to á á n n h h ọ ọ c c . . C C á á c c công công th th ứ ứ c c n n à à y y c c ó ó th th ể ể đư đư ợ ợ c c v v ẽ ẽ trên trên c c á á c c tr tr ì ì nh nh duy duy ệ ệ t t đ đ ặ ặ c c bi bi ệ ệ t t , , thông thông qua qua d d ữ ữ li li ệ ệ u u XML. XML. – – WML: WML: ngôn ngôn ng ng ữ ữ đ đ ị ị nh nh d d ạ ạ ng ng m m ạ ạ ng ng không không dây dây , , nh nh ằ ằ m m t t ạ ạ o o c c á á c c t t à à i i li li ệ ệ u u web web hi hi ể ể n n th th ị ị trên trên m m á á y y đi đi ệ ệ n n tho tho ạ ạ i i di di đ đ ộ ộ ng ng . . – – SOAP (Simple Object Access Protocol): SOAP (Simple Object Access Protocol): giao giao th th ứ ứ c c truy truy c c ậ ậ p p đ đ ố ố i i tư tư ợ ợ ng ng đơn đơn gi gi ả ả n n , , cho cho ph ph é é p p c c á á c c ứ ứ ng ng d d ụ ụ ng ng web web c c ó ó th th ể ể trao trao đ đ ổ ổ i i thông thông tin tin v v ớ ớ i i nhau nhau . . Khi Khi m m ộ ộ t t ứ ứ ng ng d d ụ ụ ng ng web web c c ầ ầ n n thi thi h h à à nh nh m m ộ ộ t t ch ch ứ ứ c c năng năng do do m m ộ ộ t t web service web service cung cung c c ấ ấ p p , , n n ó ó s s ẽ ẽ g g ử ử i i d d ữ ữ li li ệ ệ u u theo theo chu chu ẩ ẩ n n SOAP SOAP t t ớ ớ i i web service. web service. Đ Đ ế ế n n lư lư ợ ợ t t m m ì ì nh nh , , sau sau khi khi th th ự ự c c thi thi yêu yêu c c ầ ầ u u xong xong , web service , web service s s ẽ ẽ tr tr ả ả l l ạ ạ i i k k ế ế t t qu qu ả ả , , c c ũ ũ ng ng theo theo chu chu ẩ ẩ n n SOAP. SOAP. XMLin .NE XMLin .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 6 6 Đ Đ ọ ọ c c XMLXML C C á á c c đ đ ố ố i i tư tư ợ ợ ng ng x x ử ử lý lý XMLXML đư đư ợ ợ c c cung cung c c ấ ấ p p trong trong System.XML System.XML – – Đ Đ ể ể đ đ ọ ọ c c file XML, file XML, d d ù ù ng ng l l ớ ớ p p XmlTextReader XmlTextReader H H à à m m t t ạ ạ o o v v ớ ớ i i tham tham s s ố ố l l à à tên tên file XML file XML c c ầ ầ n n đ đ ọ ọ c c . . Phương Phương th th ứ ứ c c Read() Read() đ đ ọ ọ c c 1 1 th th à à nh nh ph ph ầ ầ n n c c ủ ủ a a file. file. Khi Khi đ đ ọ ọ c c th th à à nh nh công công , , đ đ ố ố i i tư tư ợ ợ ng ng s s ẽ ẽ tr tr ỏ ỏ t t ớ ớ i i node node hi hi ệ ệ n n th th ờ ờ i i . . – – T T ạ ạ i i m m ộ ộ t t node, node, ch ch ú ú ng ng ta ta c c ó ó th th ể ể đ đ ọ ọ c c đư đư ợ ợ c c m m ộ ộ t t s s ố ố th th à à nh nh ph ph ầ ầ n n . . Ki Ki ể ể u u c c ủ ủ a a node: node: thu thu ộ ộ c c t t í í nh nh NodeType NodeType – – C C ó ó nh nh ữ ữ ng ng ki ki ể ể u u như như Element, Text, CDATA, Comment, Element, Text, CDATA, Comment, … … Gi Gi á á tr tr ị ị c c ủ ủ a a node: node: thu thu ộ ộ c c t t í í nh nh Value Value C C ó ó th th ể ể s s ử ử d d ụ ụ ng ng c c á á c c phương phương th th ứ ứ c c c c ụ ụ th th ể ể kh kh á á c c như như ReadString ReadString (): (): đ đ ọ ọ c c gi gi á á tr tr ị ị text text c c ủ ủ a a node, node, ReadAttributeValue ReadAttributeValue (): (): đ đ ọ ọ c c gi gi á á tr tr ị ị thu thu ộ ộ c c t t í í nh nh c c ủ ủ a a node. node. XMLin .NE XMLin .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 7 7 Đ Đ ọ ọ c c XMLXML public class Sample public class Sample { { static void static void Main(string Main(string [] [] args args ) ) { { XmlTextReader XmlTextReader textReader textReader = new = new XmlTextReader("C: XmlTextReader("C: \ \ \ \ books.xml books.xml "); "); textReader.Read textReader.Read (); (); while ( while ( textReader.Read textReader.Read () ) // If the node has value () ) // If the node has value { { // Move to fist element // Move to fist element textReader.MoveToElement textReader.MoveToElement (); (); Console.WriteLine("XmlTextReader Console.WriteLine("XmlTextReader Properties Test"); Properties Test"); Console.WriteLine Console.WriteLine ("==================="); ("==================="); // Read this element's properties and display them on co // Read this element's properties and display them on co nsole nsole Console.WriteLine("Name Console.WriteLine("Name :" + :" + textReader.Name textReader.Name ); ); Console.WriteLine("Base Console.WriteLine("Base URI:" + URI:" + textReader.BaseURI textReader.BaseURI ); ); Console.WriteLine("Local Console.WriteLine("Local Name:" + Name:" + textReader.LocalName textReader.LocalName ); ); Console.WriteLine("Attribute Console.WriteLine("Attribute Count:" + Count:" + textReader.AttributeCount.ToString textReader.AttributeCount.ToString ()); ()); Console.WriteLine("Depth Console.WriteLine("Depth :" + :" + textReader.Depth.ToString textReader.Depth.ToString ()); ()); Console.WriteLine("Line Console.WriteLine("Line Number:" + Number:" + textReader.LineNumber.ToString textReader.LineNumber.ToString ()); ()); Console.WriteLine("Node Console.WriteLine("Node Type:" + Type:" + textReader.NodeType.ToString textReader.NodeType.ToString ()); ()); Console.WriteLine("Attribute Console.WriteLine("Attribute Count:" + Count:" + textReader.Value.ToString textReader.Value.ToString ()); ()); } } } } } } XMLin .NE XMLin .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 8 8 Ghi Ghi XMLXML Đ Đ ể ể ghi ghi XML, XML, d d ù ù ng ng XmlTextWriter XmlTextWriter . . – – H H à à m m t t ạ ạ o o v v ớ ớ i i tên tên file file c c ầ ầ n n ghi ghi . . – – C C á á c c phương phương th th ứ ứ c c quan quan tr tr ọ ọ ng ng . . WriteStartDocument WriteStartDocument (): (): ghi ghi ph ph ầ ầ n n khai khai b b á á o o version XML. version XML. WriteStartElement(string WriteStartElement(string ): ): ghi ghi th th ẻ ẻ m m ở ở đ đ ầ ầ u u c c ủ ủ a a m m ộ ộ t t n n ú ú t t . . WriteAttributeString(string WriteAttributeString(string , string): , string): ghi ghi thu thu ộ ộ c c t t í í nh nh v v à à gi gi á á tr tr ị ị c c ủ ủ a a n n ó ó . . WriteElementString(string WriteElementString(string , string): , string): ghi ghi m m ộ ộ t t n n ú ú t t , , trong trong đ đ ó ó c c ó ó ch ch ứ ứ a a m m ộ ộ t t gi gi á á tr tr ị ị . . WriteEndElement WriteEndElement (): (): ghi ghi th th ẻ ẻ k k ế ế t t th th ú ú c c c c ủ ủ a a m m ộ ộ t t n n ú ú t t . . XMLin .NE XMLin .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 9 9 Ghi Ghi XMLXML public class Sample public class Sample { { public static void Main() public static void Main() { { XmlTextWriter XmlTextWriter writer = new writer = new XmlTextWriter("titles.xml XmlTextWriter("titles.xml ", null); ", null); //Write the root element //Write the root element writer.WriteStartElement("items writer.WriteStartElement("items "); "); //Write sub //Write sub - - elements elements writer.WriteElementString("title writer.WriteElementString("title ", "Unreal Tournament 2003"); ", "Unreal Tournament 2003"); writer.WriteElementString("title writer.WriteElementString("title ", "C&C: Renegade"); ", "C&C: Renegade"); writer.WriteElementString("title writer.WriteElementString("title ", "Dr. Seuss's ABC"); ", "Dr. Seuss's ABC"); // end the root element // end the root element writer.WriteEndElement writer.WriteEndElement (); (); //Write the XML to file and close the writer //Write the XML to file and close the writer writer.Close writer.Close (); (); } } } } XMLin .NE XMLin .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 10 10 DOM DOM trong trong .NET.NET DOM (Document Object Model): DOM (Document Object Model): mô mô h h ì ì nh nh đ đ ố ố i i tư tư ợ ợ ng ng t t à à i i li li ệ ệ u u cho cho ph ph é é p p x x ử ử lý lý XMLXML m m ộ ộ t t c c á á ch ch m m ề ề m m d d ẻ ẻ o o – – Kh Kh á á c c v v ớ ớ i i XmlTextReader XmlTextReader , , XmlTextWriter XmlTextWriter ch ch ỉ ỉ cho cho ph ph é é p p đ đ ọ ọ c c v v à à ghi ghi XMLXML theo theo ki ki ể ể u u tu tu ầ ầ n n t t ự ự , DOM , DOM cho cho ph ph é é p p truy truy c c ậ ậ p p ng ng ẫ ẫ u u nhiên nhiên v v à à o o t t à à i i li li ệ ệ u u XML. XML. – – C C á á c c l l ớ ớ p p quan quan tr tr ọ ọ ng ng XmlDocument XmlDocument : : cho cho ph ph é é p p x x ử ử lý lý XMLXML theo theo DOM DOM XmlNodeList XmlNodeList : : danh danh s s á á ch ch c c á á c c node node trong trong t t à à i i li li ệ ệ u u XML. XML. XmlNode XmlNode : : m m ộ ộ t t node node đơn đơn nh nh ấ ấ t t trong trong t t à à i i li li ệ ệ u u – – XmlDocument XmlDocument cho cho ph ph é é p p thêm thêm node node m m ớ ớ i i , , n n ố ố i i node node v v à à o o đuôi đuôi t t à à i i li li ệ ệ u u , , xo xo á á node node kh kh ỏ ỏ i i t t à à i i li li ệ ệ u u . . [...]... oXmlDoc = new XmlDocument(); oXmlDoc.Load(Server.MapPath( "xml_ XmlDocument .xml" )); XmlNode oNode = oXmlDoc.DocumentElement; Console.WriteLine("Node Name: " + oNode.Name); XmlNodeList oNodeList = oNode.SelectNodes("/books/category/title"); Console.WriteLine("NodeList count=" + oNodeList.Count); for(int x = 0; x < oNodeList.Count; x++) Console.WriteLine("NodeList Item#" + x + " " + oNodeList.Item[x].InnerText);... tích – Các yêu cầu đầu bài – Thiết kế CSDL dưới dạng file XML Đề ra một mô hình lưu trữ phù hợp Tạo thử file dữ liệu – Design form – Viết mã dựa trên phân tích yêu cầu XMLin NET - Editor: Đoàn Quang NET Editor: Đoà Minh 13 Tài liệu tham khảo Professional C#, Second Edition http://www.asp.net http://www.microsoft.com/net/default.mspx http://www.codeproject.com Địa chỉ download tài liệu http://www.thanglong.edu.vn/giang-day/tab.aspx... oNodeList.Item[x].InnerText); } XMLin NET - Editor: Đoàn Quang NET Editor: Đoà Minh 11 Ứng dụng Tài liệu XML có thể dùng lưu trữ dữ liệu như là một CSDL Một ứng dụng: – Xây dựng chương trình thi trắc nghiệm qua mạng, trên nền web: Hiển thị câu hỏi, danh sách các đáp án Số lượng đáp án trong một câu hỏi có thể khác nhau, và không hạn chế Một câu hỏi chỉ có một đáp án đúng XMLin NET - Editor: Đoàn Quang NET Editor: Đoà Minh 12... Địa chỉ download tài liệu http://www.thanglong.edu.vn/giang-day/tab.aspx Diễn đàn C# & NET http://www.thanglong.edu.vn/forum/cmd/0/categ ory/hoc-tap-nghien-cuu/dot-net/tab.aspx XMLin NET - Editor: Đoàn Quang NET Editor: Đoà Minh 14 . XML in .NE XML in .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 7: i 7: XML. 7: XML in .NET XML in .NET Đo Đo à à n Quang Minh n Quang Minh minhdqtt@gmail.com minhdqtt@gmail.com http http ://www.VTPortal .net ://www.VTPortal .net Last