Chúng ta có thể sử dụng trình soạn thảo đơn giản nhất là Notepad để soạn thảo tài liệu XML, nhưng phải tuân thủ theo quy tắc sau: Theo định dạng trên, chúng ta thấy tuy tài liệu XML rất
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
MÔN: CÔNG NGHỆ XML
Đề tài: Quản Lý Bán Vé Máy Bay
Giáo viên hướng dẫn: Th.S Đỗ Thị Tâm
Nhóm sinh viên thực hiện:
1 Lưu Văn Hưởng
2 Nguyễn Bá Nguyện Lớp: ĐH KHMT3_K4
Tháng 06, 2012
Trang 2LỜI MỞ ĐẦU 3
Bài toán quản lý bán vé máy bay 4
I TỔNG QUAN VỀ XML 6
1. Giới thiệu 6
2 Mục tiêu ra đời của XML 6
3 Lợi ích khi sử dụng XML 6
II Tìm hiểu về thành phần của XML 7
1 Tạo lập một tài liệu XML 7
2. Những thành phần của một tài liệu XML 7
3 Một tài liệu hợp lệ 8
4 DTD (Document Type Definition) 9
5. Lược đồ XML (Schema XML) 9
5.1 Định nghĩa lược đồ XML 9
5.2 Các kiểu dữ liệu trong lược đồ XML 10
6. Xpath 11
7. Nhận xét về XML 12
III Sử dụng tài liệu XML 12
1. Đọc và phân tích tài liệu XML 12
1.1 Đọc và ghi một file XML 12
1.2 Tạo kết nối và truy vấn lên cơ sở dữ liệu: //Tạo kết nối đến CSDL 14
1.3Xử lý dữ liệu trên file XML(bảng MAYBAY) 14
2 File XML đầy đủ 18
3 File xslt cho thông tin lên trình duyệt 23
IV Tài liệu tham khảo 33
Trang 3LỜI MỞ ĐẦUThế 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.
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ô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””nhóm chúng em mong muốn sẽ xây dựng được một hệthống hỗ trợ các công ty và các trung tâm giao dịch giảm chi phí về nhân sự và viễn thông, thời gian hỗ trợ ngắn hơn trong việc quản lý hệ thống bán vé máy bay,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
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ắcchắ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 quý Cô và bạn bè để chúng em hoàn thiện đề tài này
Chúng em xin chân thành cảm ơn!
Trang 4Bài toán quản lý bán vé máy bay
Một hãng hàng không cần quản lý toàn diện việc bán vé máy bay bằng máy vi tính Sau khi khảo sát hiện trang, phân tích viên nắm được những thông tin sau:
Mỗi khi khách hàng mua vé máy bay lần đầu tiên tùy theo quốc tịch của khách hành mà phòng bán vé lưu lại những thông tin sau đây:
Nếu khách hàng là người Việt Nam thì lưu: Họ, tên, số chứng minh nhân dân hoặc số khai sinh, giới tính, ngày sinh, nghề nghiệp, địa chỉ nhà riêng, số điện thoại Nếu khách hàng là người nước ngoài thì lưu: Họ, tên, quốc tịch, số hộ chiếu, lý do vào Việt Nam Nếu khách hàng là cán bộ của cơ quan doanh nghiệp thì quản lý thêm: Cơ quan công tác, địa chỉ, điện thoại, số fax cơ quan, chức vụ tại cơ quan, số tài khoản ngân hàng của
Vé máy bay của hãng gồm ba loại: Loại 1, loại 2, loại 3 Mỗi loại vé có giá khác nhau cho từng loại máy bay Giá vé có hai loại cho người Việt Nam và người nước ngoài Có loại máy bay không có vé loại 1 và 2.
Quy trình bán vé của hãng như sau:
Khách hàng cần mua vé có thể đến trực tiếp phòng vé hay đặt hàng qua mạng hoặc qua điện thoại Khi khách hàng được cung cấp đầy đủ thông tin về lịch bay sẽ lựa chọn chuyến bay mà mình muốn đi Nếu chuyến bay đó còn chỗ thì khách hàng có thể chọn loại vé và mua ngay hoặc đặt trước chỗ Khi chuyến bay đã hết chỗ khách hàng có thể
Trang 5đăng ký chờ để mua vé chuyến này nếu có khách hàng nào đó đã mua vé hoặc đặt chỗ nhưng cuối cùng đã trả vé hay hủy chỗ.
Khách hàng đã đặt chỗ phải đến mua vé chậm nhất 48 giờ trước khi chuyến bay cất cánh Nếu trong thời gian ấy mà khách hàng không mua vé thì coi như đã hủy việc đặt
vé và phòng vé sẽ xóa tên trong danh sách đặt vé nếu cần.
Khách hàng đã mua vé cho một chuyến bay nào đó nhưng vì một lý do nào đó mà không
đi được thì có thể xác định lại chuyến bay ở bất kỳ chuyến bay cùng tuyến nào đó Trong trường hợp khách hàng không thể đi được thì có thể trả lại vé đã mua bất kỳ lúc nào trong vòng một năm kể từ ngày mua.
Mỗi ngày bộ phận bán vé và đặt chỗ sẽ duyệt lại tình hình bán vé cho các chuyến bay trong hai ngày tới Nếu có trường hợp hủy vé đã đặt hoặc trả lại vé thì phải thông báo cho khách hàng đăng ký chờ đến mua vé Nếu những vé cờ không thể đáp ứng được thì thông báo cho khách hàng để họ có thể lựa chọn chuyến sau.
Cuối mỗi ngày bộ phận kế toán in bảng tổng hợp tình hình bán vé trong ngày theo mẫu
đã định.
Trang 6I TỔNG QUAN VỀ XML
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 tin qua các trang web sử dụng giao thức HTTP Trong khi HTML chỉ 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 đưa ra một dạng chuẩn cho cấu trúc dữ liệu hoặc thông tin bằng việc tự định nghĩa định dạng của
dữ 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 tin.
2 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 các ứ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 là gì? Đó là, đầu tiên nó sẽ tương thích với SGML, và dễ dàng viết thành chương trình để sử lý cho những tài liệu XML Kế tiếp, những tài liệu XML rõ ràng, dễ đọc và 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.
3 Lợi ích khi sử dụng XML
Trong quá trình trưởng thành và phát triển, XML đã đối mặt và đương đầu với nhiều thư thách trong việc thuyết phục các nhà lập trình rằng XML thực sự là lựa chọn hàng đầu vì nó dễ dàng để hiểu, dễ dàng để đọc, và dễ dàng thực hiện Sau đây là một số lợi ich khi sử dụng XML.
XML có thể tách rời dữ liệu Sử dụng XML, dữ liệu được chứa trong các tập tin XML riêng biệt.
Trang 7 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 dùng để 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 dữ liệu của chúng ta hữu ích hơn.
II Tìm hiểu về thành phần của XML
1 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 để soạn thảo tài liệu XML, nhưng phải tuân thủ theo quy tắc sau:
Theo định dạng trên, chúng ta thấy tuy tài liệu XML rất đơn giản nhưng qui định cũng rất nghiêm ngặt, có nghĩa là các tài liệu XML đều xuất phát từ nút gốc(root), và mỗi phần tử phải có thể đóng và thẻ mở <… />
2.Những thành phần của một tài liệu XML.
Khai báo: Mỗi một tài liệu XMl có một chỉ thị khai báo:
Định nghĩa tài liệu XML tuân theo chuẩn của W3C và đây là phiên bản “1.0”;
Chú thích: được khao báo như sau:
Trang 8 Phần tử(Elements): Một tài liệu XML được cấu thành từ những phần tử Một phần tử
có thẻ mở và thẻ đóng Giữa thẻ mở và thẻ đóng là nội dung của phần tử đó Phần tử
có thể chứa dữ liệu hoặc có thể lồng vào mộ phần tử khác.
Phần tử gốc(root): Trong tài liệu XML chỉ có một phần tử gốc, và phần tử gốc này sẽ chứa tất cả những phần tử của tài liệu XML do chúng tạo ra
Thuộc tính(Attributes): Như đã trình bày ở trên, một phần tử có thể chứa dữ liệu hoặc chứa các 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 chọn để gắn 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 các giá trị của nó bằng các sử dụng cặp “name=value”.
3 Một tài liệu hợp lệ.
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
Trang 9cù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) hoặc Schema XML.
4. DTD (Document Type Definition)
DTD và Schema là hai cách khác nhau để qui định những luật về nội dung của một tài liệu XML Tuy nhiên DTD có một vài hạn chế Đầu tiên, tài liệu DTD không sử dụng định dạng XML, nghĩa là bản thân DTD không phải là mộ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 giới hạn 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 - Schema XML Definition (XSD).
5. Lược đồ XML (Schema XML)
5.1 Định nghĩa lược đồ 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 lược đồ XML:
<? xml version = " 1.0 " encoding = " utf-8 " ?>
Trang 105.2 Các kiểu dữ liệu trong lược đồ 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 phần 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ở dữ liệu quan hệ nào, ví dụ như SQL Server hoặc Oracle, tất cả những cột đều được định nghĩa kiểu dữ 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.
Có hai loại kiểu dữ 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 dữ 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 dữ liệu mở rộng dựa trên những kiểu dữ
liệu khác ví dụ như kiểu integer dựa 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ở dữ liệu khác Sau đây là danh
sách các kiểu dữ liệu của lược đồ XML.
Trang 11String normalizedString length
long int short byte
6 Xpath
Qua phần trình bày trên, chúng ta biết được cấu trúc và cú pháp của XML tương đối đơn giản Bước tiếp theo là tìm hiểu cách nào để xử lý một tài liệu XML 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à
Các kiểu dữ liệu cơ bản Kiểu dữ liệu mở rộng Kiểu ràng buộc
Trang 12XPath 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 thị.
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ư SQL là một chuẩn để làm việc với cơ sở dữ liệu Một biểu thức XPath có
thể chỉ ra vị trí và mẫu nào để kết hợp Chúng ta có thể áp dụng toán tử boolean, hàm string, và toán tử số học 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ề số như tính tổng, hàm làm tròn (round), v.v….
7 Nhận xét về XML
XML được xây dựng như là một chuẩn cho việc trình bày và trao đổi dữ liệu trên web Tập đoàn W3C3 đã xây dựng chuẩn XML và những công nghệ liên quan bao gồm XML DOM, XPath, XSL, và XML Schema Trong đó XML DOM được sử dụng để tạo, thay đổi, và duyệt qua tài liệu XML XPath là ngôn ngữ dùng
để truy vấn trên tài liệu XML XSL dùng để chuyển đổi tài liệu XML từ dạng này sang dạng khác XML Schema định nghĩa cấu trúc và kiểu dữ liệu cho những nút trong một tài liệu XML Tất cả những công nghệ này đã tạo nên sức mạnh cho XML Vì thế, XML ngày nay đang được sử dụng rất phổ biến và tương lai sẽ là một chuẩn duy nhất được dùng trên web.
III.Sử dụng tài liệu XML.
Dưới đấ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.
1 Đọc và phân tích tài liệu XML
1.1 Đọc và ghi một file XML
//Địa chỉ file
Trang 13public string file = "";
private static string strFilename = "E:\\
Trang 141.2 Tạo kết nối và truy vấn lên cơ sở dữ liệu:
//Tra vế> bang dữ liệu
public DataTable getTable(string sql)
SqlConnection con = taoketnoi();
SqlCommand cmd = new SqlCommand(sql, con); con.Open();
Trang 15//Thếm 1 node mới vào tài liệu sử dụng hàm InsertAfter
public void luumaybay(string ma, string ten) {
XmlDocument doc = dgxml.DocTaiLieu();
XmlNode goc = doc.DocumentElement;
XmlDocument doc = dgxml.DocTaiLieu();
XmlNode goc = doc.DocumentElement;
XmlNode cu =
doc.SelectSingleNode("//maybay[@ma_maybay='" +
mamaybay + "']");
Trang 16
//Xóa một node trong tài liệu sử dụng hàm RemoveChild
public void xoamaybay(string mamaybay)
Trang 17string sua = "update MAYBAY set
ten_maybay=N'" + tenmb.InnerText + "'where
//Lửu bang MAYBAY ra file Xml nếu thoa mãn điế>u kiện
public void luurafileXML()
{
DataTable table = dsma_MayBay();
//int i = 0, sodong = table.Rows.Count-1;
string mamb = "", tenmb = "";
//while (i != sodong)
//{
for (int i = 0; i < table.Rows.Count; i++)
Trang 18{
mamb = table.Rows[i][1].ToString(); tenmb = table.Rows[i][0].ToString();
<thanhpho>Hà Nội</thanhpho>
<quocgia>Việt Nam</quocgia>
</sanbay>