Các ứng du ̣ng của mô ̣t XML
Parser
XML caǹ g
lúc caǹ g trở nên thi ̣nh
hành. Dầu muốn hay không, nếu là
software engineer, trước sau gi ̀ ba ̣n cũng
phải lâ ̣p triǹ h với XML. Nếu lâ ̣p triǹ h
bằng VB6 ba ̣n có thể dùng Document
Object Model (DOM) hay Simple API
for XML (SAX) của Microsoft để giúp đở
ba ̣n trong công tác parsing (phân tích, sắp
đă ̣t) các XML files.
DOM đọc nguyên một XML file rồi parse
nó thành một Tree có đẳng cấp trong bộ
nhớ, tức là một node cha của Document có
những nodes con đa ̣i diê ̣n cho comments,
tags, directives và text (gọi là XML
entities).
Trong khi đó SAX đọc một XML file và
trong khi parse sẽ generate những Events
cho hay khi nào nó gă ̣p phải những XML
entities. SAX không ta ̣o ra một Tree naò
cả, nên các ứng dụng tùy thuộc vaò cách ta
handle các Events từ SAX. Di ̃ nhiên là
SAX nhỏ và đơn giản hơn DOM nhiều.
Để không phải tùy thuộc hoàn toàn vào
XML parser của người khác và để giúp
ba ̣n có ý niê ̣m thực tế về cách lam
̀ viê ̣c
của một XML Parser, trong baì nầy ta sẽ
triển khai một XML Parser đơn giản
(Simple XML Parser - SXMLParser) hoaǹ
toàn bằng VB6 và áp dụng nó một cách
thực tiển để làm mẫu. SXMLParser tuy
nhỏ nhưng có những đă ̣c tính tương tơ ̣ như
SAX và di ̃ nhiên ba ̣n có thể tha hồ sửa
đổi, thêm những features tùy ý.
Các áp dụng trước mắt là lam
̀ đe ̣p (Pretty)
XML code, thêm màu cho XML content
khi hiển thi ̣ trong một WebBrowser như
trong hiǹ h dưới đây:
WriteTextFile GetLocalDirectory & "Temp.XML",
TStr
' Place the XML filename into TextBox txtFilename
txtFilename.Text = GetLocalDirectory &
"Temp.XML"
' Emulating User's action of clicking the
commandbutton Parse
cmdParse_Click
' If there're something as a result, copy everything
from the Listbox lstHTML
' except for the first and last line, which contain
HTML header/footer.
' Select the required lines from the Textbox
If lstHTML.ListCount > 2 Then
For i = 1 To lstHTML.ListCount - 2
lstHTML.Selected(i) = True
Next
' Emulating User's action of clicking the
commandbutton Copy
CmdCopy_Click
End If
End Sub
Kỹ thuâ ̣t XML
Vovisoft © 2000. All rights reserved.
Last Updated: 25 July 2001
Webmaster