XML có thể được sử dụng như thế nào?
XML được sử dụng trong nhiều khía cạnh của phát triển web.
XML thường được sử dụng để tách dữ liệu khỏi bản trình bày.
XML tách dữ liệu khỏi bản trình bày
XML không mang bất kỳ thông tin nào về cách hiển thị.
Dữ liệu XML giống nhau có thể được sử dụng trong nhiều tình huống trình bày khác nhau.
Do đó, với XML, có sự tách biệt hoàn toàn giữa dữ liệu và bản trình bày.
XML thường là phần bổ sung cho HTML
Trong nhiều ứng dụng HTML, XML được sử dụng để lưu trữ hoặc vận chuyển dữ liệu, trong khi HTML được sử dụng để định dạng và hiển thị cùng một dữ liệu.
XML tách dữ liệu khỏi HTML
Khi hiển thị dữ liệu dưới dạng HTML, bạn không cần phải chỉnh sửa tệp HTML khi dữ liệu thay đổi.
Với XML, dữ liệu có thể được lưu trữ trong các tệp XML riêng biệt.
Với một vài dòng mã JavaScript, bạn có thể đọc tệp XML và cập nhật nội dung dữ liệu của bất kỳ trang HTML nào.
Sách.xml
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book
category="cooking">
<title lang="en">Everyday
Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry
Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery
Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan
Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web"
cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Bạn sẽ tìm hiểu thêm nhiều điều về cách sử dụng XML và JavaScript trong phần DOM của hướng dẫn này.
Dữ liệu giao dịch
Trong nhiều ngành khác nhau, có hàng nghìn định dạng XML tồn tại để mô tả các giao dịch dữ liệu hàng ngày:
- Cổ phiếu và cổ phần
- Giao dịch tài chính
- Dữ liệu y tế
- Dữ liệu toán học
- Đo lường khoa học
- Thông tin tin tức
- Dịch vụ thời tiết
Ví dụ: Tin tức XML
XMLNews là một đặc tả để trao đổi tin tức và thông tin khác.
Việc sử dụng tiêu chuẩn giúp cả nhà sản xuất tin tức và người tiêu dùng tin tức dễ dàng tạo, nhận và lưu trữ bất kỳ loại thông tin tin tức nào trên các phần cứng, phần mềm và ngôn ngữ lập trình khác nhau.
Một tài liệu XMLNews mẫu:
<?xml version="1.0" encoding="UTF-8 " ?>
<nitf>
<head>
<title>Colombia Earthquake</title>
</head>
<body>
<headline>
<hl1>143 Dead in Colombia Earthquake</hl1>
</headline>
<byline>
<bytag>By Jared Kotler, Associated Press Writer</bytag>
</byline>
<dateline>
<location>Bogota, Colombia</location>
<date>Monday January 25 1999 7:28 ET</date>
</dateline>
</body>
</nitf>
Ví dụ: Dịch vụ thời tiết XML
Dịch vụ thời tiết quốc gia XML từ NOAA (Cơ quan Khí quyển và Đại dương Quốc gia):
<?xml version="1.0" encoding="UTF-8 " ?>
<current_observation>
<credit>NOAA's National Weather Service</credit>
<credit_URL>https://weather.gov/</credit_URL>
<image>
<url>https://weather.gov/images/xml_logo.gif</url>
<title>NOAA's National Weather Service</title>
<link>https://weather.gov</link>
</image>
<location>New York/John F. Kennedy Intl Airport, NY</location>
<station_id>KJFK</station_id>
<latitude>40.66</latitude>
<longitude>-73.78</longitude>
<observation_time_rfc822>Mon, 11 Feb 2008 06:51:00 -0500 EST
</observation_time_rfc822>
<weather>A Few Clouds</weather>
<temp_f>11</temp_f>
<temp_c>-12</temp_c>
<relative_humidity>36</relative_humidity>
<wind_dir>West</wind_dir>
<wind_degrees>280</wind_degrees>
<wind_mph>18.4</wind_mph>
<wind_gust_mph>29</wind_gust_mph>
<pressure_mb>1023.6</pressure_mb>
<pressure_in>30.23</pressure_in>
<dewpoint_f>-11</dewpoint_f>
<dewpoint_c>-24</dewpoint_c>
<windchill_f>-7</windchill_f>
<windchill_c>-22</windchill_c>
<visibility_mi>10.00</visibility_mi>
<icon_url_base>https://weather.gov/weather/images/fcicons/</icon_url_base>
<icon_url_name>nfew.jpg</icon_url_name>
<disclaimer_url>https://weather.gov/disclaimer.html</disclaimer_url>
<copyright_url>https://weather.gov/disclaimer.html</copyright_url>
</current_observation>