* Login   * Register


Last visit was:
It is currently Sun Feb 25, 2018 10:18 am
View unanswered posts
View active topics





Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: Tạo HTML từ XML và XSL
PostPosted: Wed Jun 03, 2009 12:06 am 
Offline

Joined: Sun Feb 08, 2009 11:00 pm
Posts: 29
---------
Tạo HTML từ XML và XSL
Thông thường, nếu bạn định nghĩa bên trong một XML file rằng nó cần một XSL để display thì Internet Exporer 5.5 sẽ tự transform XML dựa theo XSL và display kết quả trong browser cho bạn. Trong trường hợp ấy nếu bạn View Source của Webpage bạn chỉ đọc đuợc XML source mà thôi. Có thể bạn sẽ thắc mắc sao không thấy cái HTML source là kết quả của quá trình Tranform XML.
Trong chương trình VB6 trình bày tại đây bạn sẽ thấy cách dùng DOM (Document Object Model) của MSXML để thực hiện công việc tương đương với IE 5.5 và save kết quả HTML thành một Webpage . Webpage nầy có thể được display, độc lập với XML, bằng bất cứ WebBrowser nào.Thật ra, ActiveX MSXML mà ta dùng cho VB6 là của IE 5.5 khi ta Project | Reference "Microsoft XML, v3.0".
Chương trình mẫu
Bạn có thể download chương trình mẫu TransformXML.zip để xem cách thảo chương rất đơn giản.



Phần chính của chương trình nằm trong Sub Form_Load như liệt ra dưới đây. Bạn có thể xem listing và giải thích về cách transform Library.xml dựa trên Library.xsl trong bài XML, Kỹ thuật tin học nòng cốt trong tương lai.

Private Sub Form_Load()
Dim HTMLCode As String
' Need to Project | References "Microsoft XML, v3.0" to use DOM
Dim myXMLDoc As New MSXML2.DOMDocument30
Dim myXSLDoc As New MSXML2.DOMDocument30
' Need to Project | References "Microsoft Script Runtime" to use
' FileSystemObject and TextStream
Dim Fs As FileSystemObject
Dim TS As TextStream
' Display the XML file in a listbox
PopulateListBoxFromFile LstXML, "Library.xml", False
' Display the XSL file in a listbox
PopulateListBoxFromFile lstXSL, "Library.xsl", False
' Load the XML file
myXMLDoc.Load App.Path & "\Library.xml"
' Load the XSL file
myXSLDoc.Load App.Path & "\Library.xsl"
' Transform XML by XSL to give HTML
HTMLCode = myXMLDoc.transformNode(myXSLDoc)
' Now Write the resultant HTML to file
' Create a FileSystem Object
Set Fs = CreateObject("Scripting.FileSystemObject")
' Open TextStream for Output
Set TS = Fs.OpenTextFile(App.Path & "\Library.htm", ForWriting, False, TristateUseDefault)
TS.Write HTMLCode ' Write the whole HTML string in one stroke
TS.Close ' Close the Text Stream
Set Fs = Nothing ' Dispose FileSystem Object
' Display the HTML file in a listbox
PopulateListBoxFromFile lstHTML, "Library.htm", False
End Sub


Report this post
Top
 Profile E-mail  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 


Who is online

Users browsing this forum: No registered users and 0 guests


You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron

Free Forum · php-BB© · Internationalization Project · Report abuse · Terms Of Use/Privacy Policy
© Forums-Free.com 2009