Тема 18. Структуры данных в сети Интернет
Текстовый формат
Текстовый формат является основой большинства структур данных в сети Интернет по следующим причинам:
- простой формат для понимания человеком;
- удобен для гетерогенной системы ( разнородные компоненты );
- носит последовательную форму.
Пример ( конфигурационный файл /etc/hosts ):
127.0.0.1 localhost
127.0.1.1 dgnbk
// The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Формат XML
XML (англ. eXtensible Markup Language — расширяемый язык разметки) разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка.
Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировках Юникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах.
Основан на текстовом формате.
Пример:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE people_list SYSTEM "example.dtd">
<people_list>
<person>
<name>Peter Schojer</name>
<birthdate>15/03/1976</birthdate>
<gender>Male</gender>
</person>
<person>
<name>Tina Janson</name>
<birthdate>21/10/1982</birthdate>
<gender>Female</gender>
</person>
</people_list>
Пример ( чтение XML файла ):
public static void readXml()
{
XmlDocument doc = new XmlDocument(); {
doc.Load("C:\\file.xml");
foreach( XmlNode node in doc.SelectNodes("people_list")) {
foreach(XmlNode child in node.ChildNodes)
Console.WriteLine(
child.Name + " : " + child.InnerText);
Console.WriteLine("--------------");
}
}
Формат HTML
HTML (HyperText Makeup Language - язык создания гипертекстовых документов) - стандарный формат сети Интернет, принятый WWW- консорциумом. Можно сказать что HTML базируется на XML и удовлетворяет всем его требованиям.
Структура гипертекстовых файлов черезвычайно проста.HTML-документ должен начинаться тэгом <html>
и заканчиваться </html>
. Информация вне этих тэгов игнорируется, либо выдается в нелицеприятном виде. Помимо этого все, огражденное тегами <html>
и </html>
делится на две части:
1 - заголовок(меньшая часть)
Ограничивается тэгами <head>
и </head>
. Содежит, как правило мета-информацию,то есть дополнительные данные о странице, и заголовок страницы,выносимый как правило в заголовок окна браузера(в оконной графической системе).
Рассматривать представление мета-информации в данном тексте не имеет смысла,поскольку она не играет никакой роли при визуализации страницы.Заголовок определяется тэгами <title>
и </title>
, эго присутствие необязательно,но желательно.
Тэги <head>
и <title>
параметров не имеют. Эта часть документа может отсутствовать.
2 - основная часть документа (тело)
Ограничивается тэгами <body>
и </body>
. Определяет то,что выводится в главном окне браузера.Здесь сосредотачивается вся несомая страницей информация.Так же может отсутствовать при использовании фреймов.
Тэг <body>
имеет следующие (необязательные) параметры:
background="img.gif"
- на задний план документа помещается изображение из файла img.gif
bgcolor="RED"
- цвет заднего плана, если преведущий параметр не определен(о представлении цвета в HTML смотрите следующую часть главы)
text="BLACK"
- цвет текста документа
link="RED"
- цвет гиперссылок документа
vlink="WHITE"
- цвет гиперссылок,уже посещенных пользователем
и другие.
В итоге простейший html-документ будет иметь следующую структуру:
<html>
<head>
<title>Заголовок</title>
</head>
<body bgcolor="WHITE" text="BLACK" link="BLUE">
.
.
Тело документа
.
.
</body>
</html>
Области <head>
и <body>
не пересекаются.Любая информация вне них,но внутри <html>
-области инорируется, если не несет с собой управляющий характер(например, является java-скриптом).
Пример:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<p>
<b>
Этот текст будет полужирным,
<i>а этот - ещё и курсивным</i>
</b>
</p>
</body>
</html>
Формат JSON
JSON (JavaScript Object Notation) - простой формат обмена данными, удобный для чтения и написания как человеком, так и компьютером. Он основан на подмножестве языка программирования JavaScript. JSON - текстовый формат, полностью независимый от языка реализации, но он использует соглашения, знакомые программистам C-подобных языков, таких как C, C++, C#, Java, JavaScript, Perl, Python и многих других. Эти свойства делают JSON идеальным языком обмена данными.
Пример:
{
"firstName": "Garry",
"lastName": "Edisson",
"address": {
"streetAddress": "Garden ave., 101",
"city": " London",
"postalCode": 101101
},
"phoneNumbers": [
"812 123-1234",
"916 123-4567"
]
}
Аналог на формате XML:
<person>
<firstName>Garry</firstName>
<lastName>Edisson</lastName>
<address>
<streetAddress> Garden ave., 101</streetAddress>
<city>London</city>
<postalCode>101101</postalCode>
</address>
<phoneNumbers>
<phoneNumber>812 123-1234</phoneNumber>
<phoneNumber>916 123-4567</phoneNumber>
</phoneNumbers>
</person>
Дополнительная литература
http://citforum.ru/internet/xml/index.shtml http://www.ibm.com/developerworks/ru/library/x-newxml/ http://metanit.com/sharp/tutorial/16.2.php http://html.find-info.ru/html/articles/article_8.htm http://www.json.org/json-ru.html