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
XML in .NE XML in .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 1 1 C#and.NETFrameworkC#and.NETFramework B B à à i 7: i 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 update: Last update: 30. December 2006 30. December 2006 XML in .NE XML in .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 XML XML Ghi Ghi XML XML DOM DOM trong trong .NET.NET Ứ Ứ ng ng d d ụ ụ ng ng XML in .NE XML in .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 ì ì – – XML XML – – 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 XML XML 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 XML XML 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 . . XML in .NE XML in .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> XML in .NE XML in .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 XML XML – – 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. XML in .NE XML in .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 6 6 Đ Đ ọ ọ c c XML XML C C á á c c đ đ ố ố i i tư tư ợ ợ ng ng x x ử ử lý lý XML XML đư đư ợ ợ 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. XML in .NE XML in .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 77 Đ Đ ọ ọ c c XML XML 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 ()); ()); } } } } } } XML in .NE XML in .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 8 8 Ghi Ghi XML XML Đ Đ ể ể 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 . . XML in .NE XML in .NE T T - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 9 9 Ghi Ghi XML XML 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 (); (); } } } } XML in .NE XML in .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ý XML XML 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 XML XML 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ý XML XML 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 . . [...]... 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 XML in NET - Editor: Đoàn Quang NET Editor: Đoà Minh 13 Tàiliệ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àiliệu http://www.thanglong.edu.vn/giang-day/tab.aspx Diễn đàn C# & NET http://www.thanglong.edu.vn/forum/cmd/0/categ... for(int x = 0; x < oNodeList.Count; x++) Console.WriteLine("NodeList Item#" + x + " " + oNodeList.Item[x].InnerText); } XML in NET - Editor: Đoàn Quang NET Editor: Đoà Minh 11 Ứng dụng Tàiliệ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 . à à n Quang n Quang Minh Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 7: i 7: XML in .NET XML in .NET Đo Đo à à n Quang Minh n Quang. o o Professional C#, Second Edition Professional C#, Second Edition http http ://www.asp .net ://www.asp .net http://www.microsoft.com /net/ default.mspx http://www.microsoft.com /net/ default.mspx