Xây dựng hệ thống hỗ trợ khách hàng.
Trang 1
TRUONG DAI HOC KHOA HOC TU NHIEN
KHOA CONG NGHE THONG TIN
BO MON HE THONG THONG TIN
» G8 „
NGUYEN THI KIM PHUONG — TRUONG KIEU GIANG
TÌM HIỂU CÔNG NGHỆ XML Và
X€Y DUNG HE THONG QUAN LY
DICH VG KHA@CH H@NG (ESUPPORT}
KHOA LUAN CU NHAN TIN HOC
TP.HCM, 2005
Trang 2TRUONG DAI HOC KHOA HOC TU NHIEN
KHOA CONG NGHE THONG TIN
BO MON HE THONG THONG TIN
~ GF ,
TIM HIEG CONG NGHE XML Va
X€Y DUNG HE THONG QUAN LY
DICH VU KHA@CH HANG (ESUPPORT)
GIAO VIEN HUONG DAN
THAC SI: NGUYEN TRAN MINH THU
NIEN KHOA 2001-2005
Trang 3LO cam On
Chiing em 2in chan thanh cam oun Ban giam hiéu, qui Shay ô của
trường Pai hoe Khoa Sloe Fu Whiétn Fp.KE Chi Minh, dae biệt là
cae Shay C6 trong khoa Céing Waohé Ghéing Fin da tan tinh giảng
hưng nhậu xét, đóng góp ý kiếu, động 0iền, quan tâm oà giúp đố
(Quốt củng, clutug coqt xa gửi lòng biét on sau sac dén cha me, gia
dinh da tao moi diéu kién vé vgt chat, tinh than, déng vién, khich lé
va hé tre chung con trong sudt thời gian qua
Cp.20ô Chi Minh, ngay 12 thang 7 nim 2005
Trang 4LỜI NÓI ĐẦU
Thế kỷ 21 - thế kỷ của sự bùng nỗ công nghệ thông tin, các công nghệ tiên tiến phát triển như vũ bão, mang một luồng gió mới thổi vào nhận thức của mỗi người Song song đó, thế giới đang trong xu thế toàn cầu hóa, tất
cả đều mang ý nghĩa hội nhập Lúc này, các doanh nghiệp và chính phủ không chỉ cạnh tranh với các doanh nghiệp trong một quốc gia mà còn cạnh tranh với các doanh nghiệp, chính phủ ở khắp thế giới Vì thé, để tồn tại và phát triển, mục tiêu mà các doanh nghiệp hướng đến đầu tiên là nâng cao chất lượng phục vụ khách hàng Khách hàng là yếu tố sống còn của bắt kỳ doanh nghiệp nào trong thế kỷ 21 Một chính phủ muốn quốc gia mình phát triền phải xem nhân dân và doanh nghiệp là khách hàng Đề có khách hàng
đã khó, để giữ khách hàng càng khó hơn nhiều Doanh nghiệp nào làm cho khách hàng thỏa mãn, doanh nghiệp đó sẽ phát triển tốt, chính phủ nào làm nhân dân hài lòng chính phủ đó sẽ vững mạnh
Trong bối cảnh phát triển mạnh mẽ của Internet nói chung, thương mại
điện tử và chính phủ điện tử nói riêng, việc ứng dụng công nghệ thông tin
vào lĩnh vực dịch vự khách hàng không là mới trên thế giới nhưng là mới ở Việt Nam Nhiều ván đề đặt ra là làm thế nào đem đén cho khách hàng sự phục vụ tốt nhất, tiện lợi và hiệu quả nhất Chính vì vậy đề tài “Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng” được đưa ra nhằm giúp cho các doanh nghiệp hay các tổ chức nhà nước
hỗ trợ khách hàng hiệu quả hơn Với luận văn này, nhóm chúng em mong muốn sẽ xây dựng được một hệ thống hỗ trợ khách hàng giảm chỉ phí về nhân sự và viễn thông, thời gian hỗ trợ ngắn hơn, thông tin hỗ trợ chính xác theo yêu cầu và không bỏ sót yêu cầu của khách hàng
Trang 5Nội dung của đề tài gồm các phần chính sau:
Chương 1: Tổng quan - Giới thiệu đôi nét về hệ thống hỗ trợ dịch vụ khách hàng như mục tiêu, phạm vi, đối tượng mà hệ thống hướng tới Song song
đó là các cách tiếp cận bài toán và đưa ra hướng giải quyết bài toán
Chương 2: Giới thiệu công nghệ XML — Đề tài sử dụng một công nghệ mới
để hỗ trợ trong ván đề lưu trữ và trao đổi thông tin trong môi trường Internet
đó là XML Chương này sẽ giới thiệu được cho mọi người biết XML là gì và các công nghệ đang được hỗ trợ trên XML
Chương 3: Mô tả hệ thống quản lý dịch vụ khách hàng - Mô tả chỉ tiết hệ
thống hỗ trợ dịch vụ khách hàng và đưa ra các yêu cầu mà hệ thống sẽ được xây dựng
Chương 4: Phân tích ứng dụng - Phân tích chỉ tiết các yêu cầu theo mô hình UML (Unified Model Language)
Chương 5: Thiết kế và cài đặt ứng dụng
Chương 6: Kết luận và hướng phát triển — Tổng kết những kết quả đạt được
và mặt hạn chế của đề tài; đồng thời cũng đưa ra hướng phát triển cho hệ thống sau này
Phân cuối cùng là Tài liệu tham khảo và phụ lục
Do thời gian có hạn, kinh nghiệm phân tích, thiết kế, cài đặt còn hạn chế
nên chắc chắn không tránh khỏi một số sai sót nhất định Rất mong nhận được sự đóng góp ý kiến của quý Thầy Cô và bạn bè để chúng em hoàn
thiện đề tài này.
Trang 6Chương 1: MỞ ĐẦU << 2£ 5° < ss£ se 9e ve xesererersrsee 9
1.1 GiGi thi€u UNG CUNY 20 9 1.2 Đối tượng và phạm vỉ của ứng dụng ¿s2 s se xsxsrerecxd 10
1.2.1 Đối tượng -. - ke kh TE TH Tnhh TH HT Tnhh rư 10
1.4 Hung gidi quyét bai tod ieee csesescssssssesseseseesssees 18
1.4.1 Về tốc độ thực hiện câu truy 18
1.4.2 Vấn đề tìm kiếm thông tiT ¿5s ss+e++EsEEreexekeeeeersreee 21
Chương 2: NGHIÊN CỨU CÔNG NGHỆ XML 5 5 se: 25
2.1 Tổng quan về XMLL, ¿- ke SEEkEEEEEeExEEkckekrErerererkred 25
2.1.1 GIỚI thIỆU .¿ c- Q Q1 ng ng ng ng xà 25
2.1.2 Mục tiêu ra đời và lợi ích khi sử dụng XML 25
2.1.3 Một tài liệu XML trông như thế nào2 2s ss+s+s+s+zse: 27
2.1.4 Tạo lập một tài liệu XÌML, 7 << sssssssssssss 27
2.1.5 Những thành phan của một tài liệu XIML - 5c: 28 2.1.6 Một tài liệu XML hợp lỆ - «c3 Sc x**Ssesereeeke 29
Trang 72.2.3 Truy vấn dữ liệu XML sử dung XPathDocument va
XPathNaviQatOr cccccccccccccssssssssceccecessesessscsceeceesssesssnsseecesceeeesesnaeeeesesees 39 2.2.4 NNAN XCt 6 .d4 45
2.3 XML và Cơ sở đữ lIỆU - - - + 2< Ă Ăn HS 11 3n va 45
2.3.1 XML có phải là Cơ sở dữ lIỆU? . << SS<SsSssss2 45
Churong 4: PHAN “TÍCH . << s2 E92 xe se sseescsee 64
4.1 lược đồ USE-CASE - óc - te SE SE SE EeEE ke rerseeerererke 64
4.2 Dac ta USe-Case . .- CC 00900000 HH ng ret 66 4.2.1 Đặc tả Use-Case Tìm kiễm FAQ - 5c cscekskseeeseeeeeeees 66
4.2.2 Đặc tả Use-Case Đăng ký tài KhOan cc cecceessssssteceeceeeeeseens 67
4.2.3 Dac ta Use-Case Tạo yêu CAU veececcccscscesecescsesccesescssececeecaescseecscees 69 4.2.4 Đặc tả Use-Case Xem và hiệu chỉnh yêu CẦU cccccccsesesecez 70
4.2.5 Đặc tả Use-Case Giải đáp yêu câu - << scecececeeeersreee 72 4.2.6 Dac ta Use-Case Tim kiếm yêu cÂUu 55s scsce+esrsreee 73 4.2.7 Đặc tả Use-Case Quản lý yêu câu - << se cecxceceeeersreee 74
10
Trang 84.2.8 Đặc tả Use-Case Quản lý FÁO cung yx, 76
Chương 5: THIET IKÊ - 2£ << SE s2 x£sez sxesesers 79
5.1 Hiện thực hóa S€-C aS€ C E E2 22201 nS SH 3 eree 79 5.1.1 Use-Case Tìm kiếm FA -c- c6 sec keESEskeEEEekekskserereree 79
5.1.2 Use-Case Đăng ký tài KhOản c c c1 1 sssee 81 5.1.3 Use-Case Tạo yêu cầu mớii << ss+k+k+xeEeEErererereeree 83 5.1.4 Use-Case Giải quyết yêu cầu s-s-sckckexetsrrerxrkrkreeree 85 5.1.5 Use-Case Xem và hiệu chỉnh yêu câu 2-5-5 ss+s+seẻ 87 5.1.6 Use-Case Tim kiếm yêu cầu cất 28+ skckeketsrrerxrerereeree 69 5.1.7 Use-Case Quản lý yêu cầu cÉ: -ccscecSHÖ ket rrxrkckreeree 91
5.1.8 Use-Case Quan ly FAQ wee cccdbeccssssssstbeccecssssssnseeeceeesssssenaeees 93
5.2 Thiết kế cơ sở it LiGU eseeeseesseessectbatnnceneesUbeeesseesseeeseeeeeeseeeeeeseeeseeneeen 96
“Ấn 7o 96
h2 0000) 000 1 97
5.2.3 Mô tả chỉ tiết các lớp đối tượng ¿- se s+c+xsxcececereecee 98
5.2.4 Mô tả các ràng buộc toàn-vẹn - - «ca 102
5.3 Thiết kế cài đặt và triển khai . -cc-cccsrxsrrrrrrrrrrrrrerrrrrree 105
5.3.1 Mô hình cài đặt .- - - - - CS S S111 1S nh y 105
5.3.2 Mô hình triển khai hệ thống - 2 2s + +E+E£z+szEzxseẻ 106 5.4 Thiết kế øÏao diện + s + k+E£EeEEE SE EE ve E rxcvckrrgeerxrg 107
5.4.1: Sơ đồ liên kết các màn hình 2 <5 + +E+E£s+szEzxesee 108
5.4.2 Thiết kế chỉ tiết một số màn hình . -c+-ecscxe 109
Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 121
Trang 9Danh muc hinh vé:
Hình 1-1: Phạm vi hệ thống . + << k£E+.+E+EEEE£E£E£EeEeEeEEEererkrererree 10
Hinh 1-2: Gai phap Luu 12
Hinh 1-3: Gial phap 2.0 13
Hinh 46/1000 em 4 14
Hinh 1-5: Gai phap 14
00 0N a6 i00 15
0008 2600) 16
Hình 1-8: M6 hinh truy van dit liGu vee eceeseadbesescseslbessssseesseseeessasaeees 17 Hinh 1-9: Mo hinh truy vấn đữ liệu có hỗ trợ XIMLL: 7< ccesesszss+ 20 Hình 1-10: Mô hình xử lý tìm kiẾm l2 - «c2 + + s+k+kekeEeEerererkrereeree 21 Hình T-11: Mô hình mô tả vai trò của XXM -c s55 sssess 24 Hinh 2-1: M6 hinh DOM 177 ¬ ^¬ 38
Hinh có 77 x5 96
Hình 5-2: Mô hình quan hệ cơ sở dữ liệu . 5 55555 ssssssss 97 Hình 5-3: Mô hình cài đặt : - - -c CĐ Qn SA 3n nh Y2 re 105 Hình 5-4: Mô hình triển khai hệ thống - 22s s+s++E+E£e+E+Ezxexeẻ 107 Hình 5-5: Sơ đồ liên kết các màn hình - + 2s +s+E++E+E££+x+Ezxeseẻ 108 Danh mục các bảng: Bảng 2-1: Danh sách các kiểu dữ liệu của lược đỗ XML -: 33
Bang 4-1: Danh sách các ACOF c c Q S01 10101 19 101011 1 1 ng 311 re 65 Bang 4-2: Danh sách các LSG-C aS© -c G1 HH 1 1 re 66 Bảng 5-1: Danh sách các đối tượng lưu trữ dữ liệu 5-5-s <<: 98
12
Trang 10Chuong 1: MO’ DAU
1.1 Giới thiệu ứng dụng
Hệ thống quản lý dịch vụ khách hàng được xây dựng với mục tiêu chủ yếu
là hỗ trợ cho khách hàng khi có nhu cầu tìm hiểu thông tin về sản phẩm va
dịch vụ của doanh nghiệp Hệ thống hoạt động như sau:
Khi khách hàng có nhu câu tìm kiếm các thông tin liên quan đến sản phẩm
và dịch vụ của công ty hay doanh nghiệp, khách hàng vào khu vực dịch vụ
khách hàng (gọi là helpdesk) để tìm kiếm thông tin trong các câu hỏi và câu trả lời có sẵn (còn gọi là hệ thống FAQ)
Trường hợp không tìm thấy thông tin cân thiết trong FAQ khách hàng có thế gửi yêu câu và yêu cầu được giải đáp từ phía doanh nghiệp, công ty Khách hàng có thể gửi trực tiếp qua hệ thống website hỗ trợ khách hàng hoặc sửi email trực tiếp về địa chỉ email hỗ trợ của doanh nghiệp, khách hàng sẽ được giải đáp trong thời gian nhanh nhất có thể
Nhân viên phụ trách giải đáp yêu cầu của khách hàng sẽ xem xét yêu câu
và giải đáp cho khách hàng, nếu yêu cầu gửi không đúng phòng ban sẽ được nhân viên chuyền qua phòng ban phù hợp
Nội dung câu hỏi và trả lời của mỗi yêu cầu được nhân viên tuyến chọn,
sàng lọc để cập nhật vào FAQ Như thế khi khách hàng cần thong tin tương tự thì có thể tìm kiếm ngay trong hệ thống FAQ một cách nhanh chóng và tiện
lợi
Quản trị hệ thống theo dõi quá trình giải quyết yêu cầu của các nhân viên,
đảm bảo cho các yêu câu của khách hàng được hỗ trợ kịp thời.
Trang 111.2 Đối tượng và phạm vi của ứng dụng
1.2.1 Đối tượng
Hệ thống quản lý dịch vụ khách hàng (eSupport) được xây dựng hướng đến các đối tượng là các doanh nghiệp, công ty vừa và lớn trong cả nước song song đó là các khách hàng giao dịch với doanh nghiệp Do nhu cầu cạnh tranh các doanh nghiệp cần phải phục vụ tốt khách hàng về các mặt hỗ trợ thông
tin, giải đáp, vì thế các doanh nghiệp này cần có hệ thống hỗ trợ dịch vụ
khách hàng để kịp thời đáp ứng yêu cầu của khách hàng trong quá trình giao dịch với doanh nghiệp
Đầu vào: Phân hệ hỗ trợ khách hàng Dau ra: yeu
tìm kiếm, i giải quyết,
Hình 1-1: Phạm vi hệ thống
Hệ thống được xây dựng để hỗ trợ, phục vụ khách hàng trong phạm vi
giữa doanh nghiệp và khách hàng xoay quanh các vấn đề vẻ thông tin các sản
phẩm và dịch vụ của doanh nghiệp
10
Trang 121.3 Mục tiêu cân đạt được và các cách tiếp cận bài
toán
1.3.1 Mục tiêu cần đạt được
1.3.1.1 Yêu cầu chức năng
" Yêu câu chức năng nghiệp vụ
Thực hiện đây đủ các chức năng nghiệp vụ như tìm kiêm yêu câu, tạo yêu cau, giải quyÊt yêu câu, tái tài liệu, tìm kiêm thông tín, v.V
" Yêu câu chức năng hệ thông:
Thực hiện các chức năng tự động như: gởi câu trả lời cho khách hàng qua email, gởi thông báo qua email, thông kê, nhận yêu cầu của khách hàng qua
email, v.v Việc lưu trữ dữ liệu phải đạt chỉ phí tối thiểu và có sự 6n định
cao
1.3.1.2 Yêu cầu phi chức năng
Hệ thông hỗ trợ địch vụ khách hàng làm việc hiệu quả, có thể giúp doanh nghiệp giảm chỉ phí vẻ thời gian và nhân lực, giúp doanh nghiệp giải đáp
nhanh và chính xác khi khách hàng có yêu câu, có thể hỗ trợ trực tuyến
(online), v.v
1.3.2 Các cách tiếp cận bài toán
Hệ thống hỗ trợ dịch vụ khách hàng không còn xa lạ với các doanh nghiệp
trong cả nước vì tầm quan trọng và ích lợi của nó trong vấn đề giao dịch với
khách hàng Vì thế nhu cầu xây dựng một hệ thống phục vụ khách hàng cho
doanh nghiệp là cần thiết và tất yêu Nhưng khi bắt đầu xây dựng hệ thống,
11
Trang 13Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
điều quan tâm đâu tiên của chúng ta là gì? Bất cứ hệ thống nào van dé quan
trọng đầu tiên cần được quan tâm là tô chức tốt việc lưu trữ dữ liệu Nếu dữ liệu được tổ chức tốt thì hệ thống của chúng ta sẽ cải thiện về mọi mặt như tốc
độ truy xuất, chỉ phí lưu trữ, thời gian cập nhật, v.v Như vậy, làm cách nào
tố chức tốt việc lưu trữ dữ liệu, nhất là ứng dụng của hệ thống dịch vụ khách
hàng chạy trong môi trường Internet, môi trường đa người dùng Ví dụ như khách hàng can tim kiếm những vấn đề về sản phẩm mà doanh nghiệp nào đó cung cấp, chúng ta lưu trữ đữ liệu như thế nào để cho việc tìm kiếm của khách hàng đạt hiệu quả là nhanh nhất Đề giải quyết vẫn đề này, một số giải pháp
cho vấn đề lưu trữ dữ liệu của hệ thống được đề nghị như sau:
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thứ
Trang 14Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
Ưu điểm: Đây là mô hình đang được sử dụng rất phố biến vì tận dụng được
những ưu điêm của hệ quản tri cơ sở đữ liệu
Khuyết điểm: Không linh động trong vấn đề trao đối dữ liệu giữa các hệ thống khác nhau đặc biệt là khi ứng dụng chạy trên web
Uu diém: không phụ thuộc vào bất cứ hệ quản trị nào, dễ thực hiện
Khuyết điểm: Việc thao tác truy vẫn trên tập tin XMLZ còn nhiều hạn chế
và vấn đề bảo mật không bằng hệ quản trị
SVTH: Nguyén Thi Kim Phuong GVHD: Th.S Nguyén Tran Minh Thw
Trang 15Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thứ
Trang 16Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
Uu điểm: Mô hình này nghiên về việc lưu trữ trên tập tin XML Và việc trao đối giữa một đối tượng XMLDom và cơ sở dữ liệu quan hệ cũng dễ dàng
vì từ SQL Server 2000 trở lên đã hỗ trợ truy xuất trên tập tin XML
Khuyết điểm: Mặc dù từ SQL 2000 trở lên có hỗ trợ XML nhưng việc tạo
ra tập tin XML vẫn còn bị lỗi do không thé tao ra dung cầu trúc mà người
dùng mong đợi nếu như cấu trúc XML đó phức tạp
Hinh 1-6: Giai phap 5
Uu diém: Viéc đọc/chi trên từng đối tượng đã được tách riêng biệt ra để mỗi đối tượng chỉ làm đúng nhiệm vụ của đối tượng đó nên thuận tiện trong
vấn đề xử lý
Khuyết điểm: Vẫn đề là làm cách nào để thực hiện việc chuyển đổi từ đối
tượng XMLDom thành đối tượng Datatable và ngược lại
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thứ
Trang 17Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
Ưu điểm: Việc trao đôi thông tin giữa các đôi tượng rất linh động, vì một
đối tượng XMLDom có thê đọc/ chi trực tiếp đến CSDL quan hệ hoặc có thé
thông qua một Datatable
Khuyết điểm: Do có nhiều cách đọc/ghi nên phức tạp, khó quản lý
3 Kết luận: Mỗi giải pháp có ưu điểm và khuyết điểm khác nhau Việc
chọn lựa mô hình nào sẽ-tùy thuộc vào nhu cầu của ứng dụng của chúng ta Nghĩa là ứng dụng của chúng ta sẽ quan tâm vấn đề nào? Vấn đề nào là vẫn
dé duoc quan tam hang dau thi luc đó chúng ta sẽ lựa chọn giải pháp lưu trữ
tìm kiếm, sau đó chương trình sẽ thực hiện kết nối với SQL để thực hiện câu
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thứ
Trang 18Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
truy vấn trả về thông tin tìm kiếm được cho khách hàng Mô hình thực hiện
được mô tả như sau:
Khach hang nhap
câu hỏi tìm kiếm
Câu hỏi
Kết quả thực hiện truy vấn Câu truy vấn Kết nồi
với SQL
Hình 1-8: Mô hình truy vấn dữ liệu
Như vậy, nếu có nhiều khách hàng có nhu cầu tìm kiếm thì mỗi khách
hàng đều phải kết nói đến SQL Server để lấy dữ liệu Và sẽ có trường hợp
nhiều khách hàng đều cùng truy vấn đến cùng một dữ liệu, khi đó thời gian
thực hiện: câu truy vấn để trả về kết quả sẽ rất chậm do phải thực hiện việc
điều khiến đồng thời, phân bố tài nguyên đề thực hiện câu truy vấn tại CSDL
Một vấn đề khác đặt ra cho hệ thống là không chỉ tìm kiêm được van dé dựa trên câu hỏi mà phải tìm kiếm được tất cả những vấn đề có liên quan đến nội dung câu hỏi Nghĩa là nếu khách hàng nhập vào câu hỏi: “các vấn đề liên quan đến mạng và email” thì hệ thống sẽ phải trả về tất cả những vấn đề có liên quan đến từ khóa “mạng” và “email” Như vậy nếu chỉ đơn thuần tổ chức
trên CSDL quan hệ thì không thể giải quyết được vấn đề này vì với cách thực
hiện trên CSDL quan hệ mà cụ thể là SQL Server 2000, nó sẽ tìm đúng cụm
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thứ
Trang 19từ “các vấn đề liên quan đến mạng và email” và nếu trong CSDL không có đúng cụm từ này thì kết quả trả về là không có, trong khi mong đợi của người dùng là trả ra những vẫn đề có liên quan đến “mạng” và “email”
Tóm lại: Chúng ta có hai vấn đề cần giải quyết khi lưu trữ dữ liệu trên
SQL Server
— Tốc độ thực hiện câu truy van
— Viéc tim kiém thong tin hiéu qua
Làm sao giải quyết được bài toán đặt ra cho hệ thống khi chỉ lưu trữ trên CSDL quan hệ
1.4 Hướng giải quyết bài toán
Chúng ta thấy được việc sử dụng giải pháp 1 để lưu trữ dữ liệu sẽ không giải quyết được những vẫn để đặt ra cho bài toán Và như vậy cân thiết phải
sử dụng mô hình khác đề hệ thông thực hiện khả thi hơn
Sau đây, chúng ta sẽ xem qua cách hệ thống thực hiện để giải quyết lần lượt các vấn đề trên, và từ đó chọn ra giải pháp lưu trữ thích hợp nhất
1.4.1 Về tốc độ thực hiện câu truy vấn
Nhu cau khách hàng tìm kiếm các vấn đề cần giải đáp là thường xuyên xảy
ra và với tân suất rất cao nên việc lưu trữ trong SQL Server sẽ không khả thi
Nên chúng ta sẽ sử dụng thêm một cách lưu trữ nữa đó là trên tập tin ma cu thê là trên tap tin XML Giải pháp thực hiện cụ thể như sau:
Gia su trong SQL Server ta lưu trữ dữ liệu của bảng Cáuw hỏi-Trả Lời (FAQ) nhu sau:
18
Trang 20Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
FAQ ID FAQ QUESTION FAQ ANSWER _ FAQ TOP_ID
Cách nhận biết người nhận Ban làm theo các
FAQ00001 † thư đã đọc thư của mình 7 TOP00I
Cách nhận biết người nhận thư đã đọc thư của mình hay chưa?
</FAO Cau Hoi>
<FPAQ Cau Tra Loi>
Bạn làm theo các bước sau, để khi gửi thu cho moi người trên giao điện Outlook Express sẽ có phản hồi lại là họ đã đọc thư
</FAO Cau Tra Loi>
<FAQ Ngay Cap Nhat> 10-7-2005 </FAOQ Ngay Cap_ Nhat>
<FAQ Ma Chu De> TOP001 </FAQ Ma Chu De>
<FAQ So Lan Xem> 10 </FAQ So Lan Xem>
<FAQ Ma Tai Lieu Tai Ve> DOCOO1 </FAQ Ma Tai Lieu Tai Ve>
</FAQ>
<FAQ FAQ ID= “FAQ00002”
<FAQ Cau_Hoi> </FAQ Cau Hoi>
SVTH: Nguyén Thi Kim Phuong GVHD: Th.S Nguyén Tran Minh Thw
Trang 21Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
<FAO Cau Tra Loi> </FAQ Cau Tra Loi>
<FAO Ngay Cap Nhat> </FAO Ngay Cap Nhat>
</Danh sach FAQ>
Như vậy, mỗi khi khách hàng có nhu câu tìm kiếm trong hệ théng FAQ,
thì không cần phải thực hiện kết nỗi đến SQL Server, mà chỉ cần mở tập tin
FAQ.xml và thực hiện việc truy vấn trên tập tin XML, cuối cùng trả về kết quả cho khách hàng Như vậy, việc thực hiện trên tập tin sẽ nhanh hơn rất
nhiều so với cơ sở dữ liệu (mở kết nối, tìm kiễm dữ liệu và thực hiện truy vấn
trên dữ liệu tìm được để cuối cùng cho ra kết quả như mong muốn =>truy vấn chậm)
Mô hình minh họa như sau:
Chuyén đổi dữ liệu
Hình 1-9: Mô hình truy vấn dữ liệu có hỗ trợ XML
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thứ
Trang 221.4.2 Van đề tìm kiêm thông tin
Muôn kết quả tìm kiêm đúng như mong muôn người dùng thì phải dựa vào nøữ nghĩa của nội dung câu hỏi mà người dùng nhập vào Đề làm được điêu này thì phải dựa vào từ điền mới biết được chính xác ngữ nghĩa của câu
Theo đó, dựa trên tập tin FAQ.xml ở trên, chương trình sẽ trích từ dựa trên
từ điền băng phương pháp LRMM (Left Right Maximum Matching)[4]
Sau đây là mô hình minh họa cho quả trình xử ly
„ Yêu cầu tìm kiếm |===> lich từ và
loại bỏ từ thừa,
Bảng dữ liệu
Theo phương pháp LRMM, đề phân đoạn từ tiêng Việt trong một ngữ/câu,
ta đi từ trái sang phải và chọn từ có nhiêu âm tiết nhất mà có mặt trong từ điển, rôi cứ tiếp tục cho từ kế tiếp cho đến hết câu Với cách này, ta dễ dàng tách được chính xác các ngữ câu như: “hợp tác xã | mua bản”; “thành lap | nước | Việt Nam | dân chủ | cộng hòa” uy nhiên, phương pháp này sẽ tách
từ sai trong các trường hợp như: “học sinh | học sinh | học”; “một | ông [ quan tài | giỏi” Mặc dù vậy, phương pháp này cũng tách từ chính xác đến 95%
21
Trang 23Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
(theo giáo trình Xử lý ngôn ngữ tự nhiên) Vì vậy nhóm chúng em quyết định chọn phương pháp này để sử dụng trong việc trích từ này mặc dù nó chưa
phải là phương pháp tối ưu nhất
Trở lại vấn để trích từ cho tập tin FAQ.xml, bằng phương pháp LRMM, chúng ta sẽ trích được các từ trong tập tin FAQ.xml và lưu thành một tập tin FAQ_ Word.xml với cấu trúc như sau:
<? xml version="1.0"?>
<WORDs>
<WORD Name="internet">
<FAQ FAQ ID="FAQ00003" />
<FAQ FAQ ID="FAQ00005" />
<FAQ FAQ ID="FAO00011" />
<FAQ FAQ ID="FAQ00012" />
<FAQ FAQ ID="FAQ00013" />
<FAQ FAQ ID="FAQO0017" />
</WORD>
<WORD Name="yéu cau">
<FAQ FAQ ID="FAQ00008" \/>
<FAQ FAQ IBÐE"EAO00019" />
</WORD>
Chú thích: Danh sách các thé <FAQ> </FAQ> trong moi thé
<WORD> </WORDS> cho biét tng với từ này thì có những tài liệu nào liên quan đến nó
Tap tin FAQ Word.xml nay sau d6 sé qua một khâu nữa đó là loại bỏ những từ thừa gọi là kỹ thuật “stoplist” Chúng ta sẽ duyệt qua các từ trong tập tin FAQ Word.xml va so sanh voi tap tin Stoplist.xml (day là tập tin lưu
SVTH: Nguyén Thi Kim Phuong GVHD: Th.S Nguyén Tran Minh Thw
Trang 24những từ thừa), sau đó tiễn hành loại bỏ những từ không có nghĩa để cuối cùng được một tập tin FaqDaLoaiStopLIst.xml với kích thước tập tin giảm đáng kế so với tập tin FAQ_ Word.xml do đã bỏ đi những từ không có nghĩa Đây sẽ là tập tin chúng ta mong muốn để thực hiện việc so khớp khi khách hàng nhập vào một câu truy vân
Như vậy, mỗi khi khách hàng nhập vào nội dung câu hỏi cân tìm kiếm, nội
dung câu hỏi này sẽ được phân đoạn thành những cụm từ và sẽ loại bỏ những
từ thừa, chỉ giữ lại những từ có nghĩa Và những cụm từ này sẽ được so khớp với tập tin FaqDaLoaiStopList.xml để trả về kết quả tuy vấn cho người dùng (xem hình 1.10) Với cách thực hiện này, tất cả những vấn đề có liên quan đến nội dung câu hỏi sẽ được trả về cho người dùng và tất cả những điều này đều
thực hiện trên tập tin XML nên sẽ truy vẫn rất nhanh Như vậy vấn đề đặt ra
đã được giải quyết
Và bây giờ thì chúng ta đã biết được hệ thông quản lý dịch vụ khách hàng
sẽ chọn giải pháp nào để lưu trữ đữ-liệu Đó là giải pháp 5 vì theo như giải pháp này, việc lưu trữ đữ liệu sẽ sử dụng cả trên tập tin XML và trên cơ sở dữ liệu quan hệ
Mặt khác; việc chọn giải pháp 5 này là do nhu câu cần thiết phải sử dụng thêm XML để hỗ trợ trong vấn đề lưu trữ và truy xuất trên hệ thống Đó là khi
dữ liệu được lưu thông trên môi trường web thì vẫn đề trao đồi thông tin giữa các hệ thống khác nhau là yếu tố cần được xem xét Do XML giải quyết rất tốt trong vấn đề này nên cần thiết sử dụng thêm XML Sau đây là mô hình để thay duoc vai tro cla XML:
23
Trang 25Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
Hình 1-11: Mô hình mô tả vai trò của XML,
>4 Kết luận: Trên đây-là một cách nhìn tông quan về cách thực hiện cũng
như là vấn đề lưu trữ của hệ thống hỗ trợ dịch vụ khách hàng Như vậy, chúng
ta muốn tạo lập được những tài liệu XML như mong muốn và thực hiện truy
vấn trên tập tin này thì điều tối thiểu là phải biết được XML là gì cũng như
các thao tác thực hiện truy vấn trên tap tin XML nhu thé nao? Van đẻ như thế
nào, chúng ta sẽ xem tiêp qua chương sau
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thứ
Trang 26Chương 2: NGHIÊN CỨU CÔNG NGHỆ XML
2.1 Tổng quan về XML
2.1.1 Giới thiệu
XML (Extensible Markup Language) ra đời vào tháng 2/1998, là ngôn ngữ
có kiến trúc gần giống với HTML nhưng XML nhanh chóng trở thành một chuẩn phố biến trong việc chuyển đổi thông tỉn qua các trang web sử dụng giao thức HTTP Trong khi HTML là ngôn ngữ chủ yếu vẻ hiên thị dữ liệu thì XML lại đang phát triển mạnh về việc chuyển tải, trao đôi và thao tác dữ liệu
băng XML XML dua ra mot dinh dang chuẩn cho cấu trúc của đữ liệu hoặc
thong tin bang viéc tu định nghĩa định dạng của tài liệu Băng cách này, dữ
liệu được lưu trữ bằng XML sẽ độc lập với việc xử lý Vì vậy XML ra đời sẽ
đáp ứng được yêu câu ngày càng cao của các nhà lập trình trong vấn đề trao đối và xử lý thông tỉn:
2.1.2 Mục tiêu ra đời và lợi ích khi sử dụng XML
2.1.2.1 Mục tiêu ra đời của XML,
Ngày nay, XML đang trở thành một chuẩn chung cho việc trao đối dữ liệu cho những ứng dụng chạy trên môi trường Internet Vì XML cho phép người dùng có thê tự định nghĩa các thẻ (tag) - những thẻ này làm cho tài liệu XML
đa dạng hơn những ngôn ngữ thông thường như HTML Như vậy mục tiêu
đặt ra cho sự ra đời XML la gi? Do la, đầu tiên nó sẽ tương thích với SGML,
và dễ dàng viết những chương trình để xử lý cho những tài liệu XML Kế
25
Trang 27tiếp, những tài liệu XML rõ ràng, dễ đọc, dễ dàng tạo lập Và điều quan trọng
là nó được hỗ trợ trong nhiều ứng dụng Nói tóm lại, XML dễ dàng chia sẻ thông tin qua những định dạng khác nhau thông qua môi trường web XML,
được thiệt kê dành cho mọi người, được mọi người sử dụng
2.1.2.2 Loi ich khi sw dung XML
Trong quá trình trưởng thành và phát triển, XML đã đôi mặt và đương dau với nhiều thử thách trong việc thuyết phục các nhà lập trình rằng XML là sự lựa chọn hàng đâu vì nó dễ dang để hiểu, dễ dàng để đọc, và dễ dàng thực
hiện Sau đây là một số lợi ích khi sử dụng XML
XML co thê tách rời dữ liệu Sử dụng XML,, đữ liệu được chứa trong
các tập tin XML riêng biệt
XML có thê mô tả thông tin của những đối tượng phức tạp mà cơ sở dữ
liệu quan hệ không thể giải quyết được
XML có thê dùng để chuyền đổi dữ liệu giữa các hệ thông không tương thích
XML ding để chia sẻ dữ liệu với những tập tin văn bản đơn giản dễ
hiểu
XML cũng được dùng để lưu trữ dữ liệu, có thể làm cho đữ liệu của
chung ta hữu ích hơn
Như vậy, chúng ta đã biết được lợi ích và vai trò của XML trong vẫn đề
lưu trữ và trao đôi thông tin Vân đề bây giờ là nêu chúng ta muôn có một tài
liệu XML thì phải làm như thế nào?
26
Trang 282.1.3 Một tài liệu XML trông như thế nào?
Mục đích của việc tô chức thông tin là đề con người có thê đọc và hiệu được những gì mà nó muôn truyền tải Chúng ta xem một tập tin văn bản sau đây:
FLO Shimano Calcutta 47.76
2.1.4 Tạo lập một tài liệu XML
Chúng ta có thể sử dụng trình soạn thảo đơn giản nhất là Notepad dé soan thảo tài liệu XML, nhưng phải tuân thủ theo qui tắc sau:
27
Trang 292.1.5 Những thành phân của một tài liệu XML
= Khai bao: Moi một tài liệu XML có một chỉ thị khai báo
tử khác
"Phần tử gốc (roof): Trong tài liệu XML, chỉ có một phần tử gốc, và phân
tử này sẽ chứa tất cả những phân tử của tài liệu XML do chúng ta tạo ra Theo ví dụ trên, ta thay chi cé mét phan ttr “Catalog”
“_ Thuộc tinh (Attributes): Nhu da trinh bay ở trên, một phân tử có thể chứa
dữ liệu hoặc chứa phần tử khác hoặc cả hai Bên cạnh đó, phần tử có thể rỗng, khi đó nó có thể chứa thuộc tính Một thuộc tính chỉ là một sự lựa
28
Trang 30chon dé gan dữ liệu đến phần tử Một thuộc tính đặt trong thẻ mở của phần
tử và chỉ ra giá trị của nó băng cách sử dụng cặp “name=value”
Như chúng ta đã đề cập ở trên, một tài liệu XML hợp khuôn dạng là yếu tố
đầu tiên khi tạo lập tài liệu Hợp khuôn dạng có nghĩa là mỗi tài liệu chỉ có
một nút gốc, mỗi phân tử phải có thẻ mở và thẻ đóng và phải lỗng nhau chính
xác, và cuối cùng là tên thuộc tính chỉ xuất hiện một lần trong thẻ mở Nhưng
một tài liệu XML hợp khuôn dạng không có nghĩa là nó hợp lệ Muốn kiểm
tra sự hợp lệ của một tài liệu XML ta phải dựa vào DTD (Document Type Definition) hoac Schema XML
2.1.6.1 DTD (Document Type Definition)
DTD và Schema là hai cách khác nhau để qui định những luật về nội dung
cua mot tai ligu XML Tuy nhiên DTD có một vài hạn chế Đầu tiên, tài liệu
DTD khéng su dung dinh dang XML, nghia la ban than DTD khong phai là
29
Trang 31một tài liệu XML Điều thứ hai là kiêu dữ liệu có sẵn dùng để định nghĩa nội
dung của một thuộc tính hoặc một phần tử thì rất gidi han trong DTD Điều
thứ ba là DTD không có khả năng mở rộng và không hỗ trợ namespace Cuối cùng là do không viết theo định dạng XML nên DTD khó viết và khó hiểu Vì
vậy việc sử dụng DTD để kiểm tra sự hợp lệ của một tài liệu XML là không
khả thi Chúng ta cần có một sự lựa chọn khác khả thi hơn để kiếm tra sự hợp
lệ của tài liệu XML Đó là chúng ta sử dụng lược đồ XML - Sehema XML
Definition (XSD)
2.1.6.2 Luo d6 XML (Schema XML)
2.1.6.2.1 Dinh nghia lwoc dé XML
Một lược đồ đơn giản chỉ là một tập những luật được định nghĩa lại để mô
tả nội dung dữ liệu của một tài liệu XML Nó tương tự như một định nghĩa
cầu trúc bảng trong cơ sở dữ liệu quan hệ: Trong lược đồ XML, chúng ta định nghĩa một tài liệu XML, những phần tử của nó, những kiểu dữ liệu của phần
tử và những thuộc tính liên quan, và điều quan trọng nhất là mối quan hệ
“cha-con” giữa những phần tử Chúng ta có thể tạo lược đô trong nhiều cách khác nhau Cách đơn giản nhất là sử dụng Notepad Sau đây là một ví dụ một
Trang 32Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
type="xsd: string"
minOccurs="0" />
<xsd:element name="ProductName"
2.1.6.2.2 Các kiểu dữ liệu trong lược dé XML
Khi tập tin XML hoạt động như một cơ sở dữ liệu, và XSL, XPath được sử
dụng để truy vấn trên tập tin XML giống như một số ngôn ngữ truy vấn trong SQL, thì lúc này chúng ta cần biết được vị trí của từng phan tử trong tập tin
XML được khai báo ở đâu và với kiểu dữ liệu như thế nào Vì trong bất kỳ cơ
sở đữ liệu quan hệ nào, ví dụ như SỌL, Server hoặc Oracle, tất cả những cột
đều được định nghĩa kiểu đữ liệu và vì vậy thật sự cần thiết phải có kiểu dữ
liệu trong lược đồ XML
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thứ
Trang 33Có hai loại kiêu đữ liệu trong lược đô XML đó là kiêu dữ liệu cơ bản và kiêu dữ liệu mở rộng Kiêu đữ liệu cơ bản là kiêu dữ liệu không bắt nguôn từ kiêu dữ liệu nào ví dụ như kiêu dữ liệu float Kiêu đữ liệu mở rộng dựa trên những kiểu dữ liệu khác ví dụ như kiểu integer dua trén kiéu decimal
Kiểu dữ liệu cơ bản được định nghĩa cho mục đích của lược đồ XML thì
không nhất thiết phải giống với một số cơ sở đữ liệu khác Sau đây là danh
sách các kiêu đữ liệu của lược đô XML
Kiểu dữ liệu cơ bản Kiểu dữ liệu mở rộng Kiểu ràng buộc
String normalizedString length
Boolean Token minLength
Decimal Language maxLength
Float NMTOKEN pattern
Time ID maxExclusive Date IDREF minExclusive
base64Binary negativelnteger
gYearMonth IDREFS minlnclusive
gMonthDay ENTITY totalDigits
GMonth Integer
GDay ENTITIES fractionDigits
long int
short
byte
32
Trang 34nonNegativelnteger
unsignedLong
unsignedint
Như vậy để xử lý một tài liệu XML, chương trình ứng dụng phải có cách
di chuyển bên trong tài liệu để lẫy ra giá trị của các phần tử (Elements) hay thuộc tính (Attributes) Do đó ngôn ngữ XML Path được ra đời, mà chúng ta gọi tắt là XPath XPath đóng một vai trò quan trọng trong việc truy vẫn dữ liệu cho các chương trình ứng dụng vì nó cho phép ta lựa chọn hay sàng lọc ra những phân tử nào mình muốn để trao đổi hay hiển thi
Nếu khi làm việc với cơ sở dữ liệu ta dùng các phát biểu SQL như
SELECT FROM table name WHERE để trích ra một số mẫu tin từ một bảng, thì khi làm việc với tập tin XML, XPath cho ta những biểu thức
(expressions) về điều kiện (criteria) giỗng như mệnh đề WHERE trong SQL XPath là một ngôn ngữ dùng để xử lý truy vấn trên tài liệu XML, cũng
giông như SỌL là một chuân đê làm việc với cơ sở đữ liệu Một biêu thức
33
Trang 35XPath co thé chi ra vi trí và mẫu nào đề kết hợp Chúng ta có thể áp dụng toán
tử boolean, ham string, va toan ttr s6 hoc trong biếu thức XPath để xây dựng câu truy vấn phức tạp trên tài liệu XML XPath cũng cung cấp một số hàm về s6 nhu tinh tong, ham lam tron (round), v.v
2.2 Cách sử dụng một tài liệu XML
Khi chúng ta đã có một tài liệu XML, chúng ta sẽ tự hỏi: sử dụng nó như
thế nào và làm thế nào để truy cập đến một tập tin XML Sau đây, là một số
kỹ thuật được sử dụng trong mội trường Visual Studio.NET để làm việc với
tập tin XML
> World Wide Web Consortium
34
Trang 362.2.1 Đọc và phân tích tài liệu XML
2.2.1.1 Sử dụng lớp XMLTextRcader
Lép XMLTextReader cung cấp một cursor được sử dụng để lấy dữ liệu từ
một tài liệu XML Chúng ta khai báo như sau:
XmlTextReader myRdr =
new Xm1TextReader (Server.MapPath ("catalog2 m1") ) ;
Khi một thể hiện được tạo ra, con trỏ cursor sẽ được đặt ở đầu tải liệu
Chúng ta có thể sử dụng phương thức ®eađ() để lẫy -những phân dữ liệu một
cách tuần tự Mỗi phần dữ liệu tương tự như một nút trong cây XML Thuộc
tính NodeType sẽ lẫy kiểu của phần dữ liệu thuộc tính Nưưe sẽ lấy tên của
nut, va Value sé lay gia tri cua nut Vi thế, khi một phần dữ liệu được đọc, chúng ta có thé str dụng câu lệnh sau đề hiện thị tên, gia tri va kiểu của nút
Response.Write (myRdr.NodeType.ToString ()
+" " + myRdr.Name + ":" + myRdr.Value) ;
Nếu muốn kiểm tra nút đó có thuộc tính hay không, chúng ta có thể sử dụng phương thức HasAttributes Néu gid trị trả về của phương thức HasAttributes \a true, ching ta 4p dụng phuong thitc MoveToAttribute(i) dé lap qua cac thudc tinh cua nut
Trang 37XMLDocument cung cấp việc truy xuất nhanh và trực tiếp đến một nút Tuy
nhiên, việc sử dụng mô hinh DOM rat ton bộ nhớ để lưu trữ thành một cây, và
thật sự sẽ khó khăn khi tài liệu XML, có kích thước lớn
Có nhiều cách khác nhau để tạo một đối tuong XMLDocument Sau day chung ta su dung đối tuong XML TextReader dé tao mé6t XMLDocument
private void Page Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
XmlDocument myDoc = new XmlDocument ();
XmlTextReader myRdr = new
XmlTextReader (Server.MapPath("Catalog2.xml"));
myDoc.Load(myRdr) ;
Session("sessionDoc") = myDoc;
//khi cây được tạo ra, chúng ta có thể hiển thị lênlistbox
//với thuộc tính TnnerText của những node ProductName
int i=0;
for (i1=0;i<myDoc.DocumentElement.ChildNodes.Count-1;1i++)
36
Trang 38Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
2.2.2.1 Sa dung lop XMLTextReader
Trong phân trên, chúng ta đã biết cách đề đọc vào một tài liệu XML, phần này chúng ta sẽ định hướng qua tài liệu XML và chỉ lẫy những dữ liệu nào cần thiết cho ứng dụng của mình Ví dụ như nếu nút đó là ProductName
chúng ta sẽ đọc và hiển thị thông tin trên một listbox, cụ thể như sau:
SVTH: Nguyén Thi Kim Phuong GVHD: Th.S Nguyén Tran Minh Thw
Trang 39Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
2.2.2.2 Sử dụng mô hình DOM
Một cây được tạo thành từ nhiều nút Và một nút cũng là một cây chứa
những nút khác Nút lá thì không có nút con, vì thế nút này dùng để hiễn thị
dữ liệu văn bản
Lớp XmlIDafaDocument kê thừa từ lớp XmlDocumerf, vì thê nó cũng có một số phương thức như lớp XmlDocument Diéu thi vi nhat cua XmlDataDocument 1a n6 cung cap hai cach nhin trén cing một dữ liệu đó là
XML view va relational view
XnulDataDocument c6 mot thudc tinh tén la DataSet, thong qua DataSet, XmiDafaDocumenf trình bày dữ liệu như một hoặc nhiều bảng (DataTable)
có quan hệ hoặc không có quan hệ Khi chúng ta sử dụng phương thức Load0
để tải một đối tuong XmlDataDocument, chung ta cé thể xem nó như một
cây hoặc như một bảng (hoặc nhiều bảng) Sau đây là hình minh hoạ cho hai
cách nhìn về một tài liệu XMIE:khi sử dung XmlDataDocument
Hình 2-1: Mô hình DOM
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thứ
Trang 402.2.3 Truy vấn dữ liệu XML sử dụng XPathDocument
và XPathNavigator
Viéc str dung lép XmlDocument va XmlDataDocument dé xir ly tai liéu
XML cũng có một vài hạn chế Đầu tiên, toàn bộ tài liệu phải được lưu trong
cache Thêm vào đó, việc định hướng thông qua một cây sẽ gặp nhiều khó khăn, và định hướng thông qua những view quan hệ cũng không thuận tiện
Đề khắc phục vấn đề này, VS.NET cung cấp lớp XPøhDocumenf và
XPathNavigator
Lớp XPathDocument cho phép chúng ta xử lý dữ liệu XML mà không phải tải lên toàn bộ cây Và XPøhNavigafor sử dụng để thao tác trên dữ liệu của XPafhDocurmen Nó cũng được sử dụng để thao tác trên XimDocuzmnent
và XmiDafaDocumenf Nó hỗ trợ kỹ thuật định hướng cho việc chọn nút, lặp qua các nút đã chon, và làm việc trên những nút đã chọn này Để thực hiện được việc này, nó sử dụng biéwthttc XPath
XPath chi ra cu phap truy van cho việc rút trích dữ liệu từ một tài liệu
XML Ý tưởng sử dụng tương tự như trong SQL, tuy nhiên cú pháp của nó thi khác biệt Nói chung eú pháp truy vẫn XP có vẻ phức tạp Tuy nhiên qua các ví dụ sau, Chúng ta có thê thấy được sự ngắn gọn và hiệu quả trong việc rút trích dữ liệu XML Chỉ tiết về cú pháp của XPath sé khong di sau trong bài viết này vì nó nghiên về lĩnh vực khác Tuy nhiên, chúng ta cũng minh họa vài cách sử dụng biểu thức XP Sau đây chúng ta xem qua ví dụ một
tài liệu XML mà sẽ được sử dụng để thực hiện truy vấn trên đó Tài liệu này đặt tên la bankI.xmil
<?xml version="1.0" encoding="utf-8" ?>
<Bank>
<Account>
39