Тема 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

results matching ""

    No results matching ""