SlideShare a Scribd company logo
1 of 8
Основы XML
Текстовые данные
• Freeform тексты сложно обрабатывать автоматически
• Бинарные данные почти невозможно читать простому
смертному
Нужен компромисс: формат представления данных, который будет
понятен и человеку, и машине в (относительно) равной степени.
CSV
Формат предполагает использование специальных символов-
разделителей для отделения значения двух полей
• Символы-разделители: . , ; t
• Одна строка хранит информацию об одном объекте, следствие
– таблицы «плоские»
• Опционально, первая строка – заголовок с названием полей
JSON
Средство передачи объектов в текстовом виде поверх протокола
HTTP
• Простой
• Human-readable
• Нативная поддержка из JavaScript
• Библиотеки для всех мыслимых платформ и языков
• Есть возможность передавать иерархические данные
JSON
{
“firstName”:”Hubert”,
“lastName”:”Cumberdale”,
“phone”: [ “312 3219359”, “800 3784753” ],
“address”:{
“city”:”Aurora”,
“street”:”State”,
“building”:”1”,
“apartment”:”10”
}
}
XML
XML позволяет хранить структурированные данные любой
природы, сохраняя иерархическую структуру
• Есть средства автоматической генерации, разбора и
верификации XML-документов
• Поддерживается множество разных кодировок
• Есть возможность использования пространств имён
• Есть средства хранения бинарных данных в текстовом виде
(Base64)
• Развитые средства для преобразования документов (XSLT,
XPATH, …)
XML
• XML-документ – дерево
• Другие абстракции –
элемент, атрибут и их
значения
• В корне – всегда
единственный элемент
<?xml version="1.0" encoding="UTF-8"?>
<EmployeeData>
<Employee>
<FirstName></FirstName>
<LastName></LastName>
<Address
city=“”
street=“”
building=“”
apartment=“”
/>
</Employee>
</EmployeeData>
XML удобно использовать
для сериализации данных

More Related Content

More from colriot

Java. Lecture 12. Development Tools
Java. Lecture 12. Development ToolsJava. Lecture 12. Development Tools
Java. Lecture 12. Development Tools
colriot
 
Java. Lecture 10. Working with DBMS
Java. Lecture 10. Working with DBMSJava. Lecture 10. Working with DBMS
Java. Lecture 10. Working with DBMS
colriot
 
Java. Lecture 09. Network Programming
Java. Lecture 09. Network ProgrammingJava. Lecture 09. Network Programming
Java. Lecture 09. Network Programming
colriot
 
Java. Lecture 08. Multithreaded Programming
Java. Lecture 08. Multithreaded ProgrammingJava. Lecture 08. Multithreaded Programming
Java. Lecture 08. Multithreaded Programming
colriot
 
Java. Lecture 01. Introducing Java
Java. Lecture 01. Introducing JavaJava. Lecture 01. Introducing Java
Java. Lecture 01. Introducing Java
colriot
 
Java. Lecture 07. Advanced XML
Java. Lecture 07. Advanced XMLJava. Lecture 07. Advanced XML
Java. Lecture 07. Advanced XML
colriot
 
Java. Lecture 06. I/O
Java. Lecture 06. I/OJava. Lecture 06. I/O
Java. Lecture 06. I/O
colriot
 
Java. Lecture 05. Handling Exceptions and Debugging
Java. Lecture 05. Handling Exceptions and DebuggingJava. Lecture 05. Handling Exceptions and Debugging
Java. Lecture 05. Handling Exceptions and Debugging
colriot
 
Java. Lecture 04. Standart Library
Java. Lecture 04. Standart LibraryJava. Lecture 04. Standart Library
Java. Lecture 04. Standart Library
colriot
 
Java. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UMLJava. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UML
colriot
 
Java. Lecture 02. Classes and Objects
Java. Lecture 02. Classes and ObjectsJava. Lecture 02. Classes and Objects
Java. Lecture 02. Classes and Objects
colriot
 

More from colriot (11)

Java. Lecture 12. Development Tools
Java. Lecture 12. Development ToolsJava. Lecture 12. Development Tools
Java. Lecture 12. Development Tools
 
Java. Lecture 10. Working with DBMS
Java. Lecture 10. Working with DBMSJava. Lecture 10. Working with DBMS
Java. Lecture 10. Working with DBMS
 
Java. Lecture 09. Network Programming
Java. Lecture 09. Network ProgrammingJava. Lecture 09. Network Programming
Java. Lecture 09. Network Programming
 
Java. Lecture 08. Multithreaded Programming
Java. Lecture 08. Multithreaded ProgrammingJava. Lecture 08. Multithreaded Programming
Java. Lecture 08. Multithreaded Programming
 
Java. Lecture 01. Introducing Java
Java. Lecture 01. Introducing JavaJava. Lecture 01. Introducing Java
Java. Lecture 01. Introducing Java
 
Java. Lecture 07. Advanced XML
Java. Lecture 07. Advanced XMLJava. Lecture 07. Advanced XML
Java. Lecture 07. Advanced XML
 
Java. Lecture 06. I/O
Java. Lecture 06. I/OJava. Lecture 06. I/O
Java. Lecture 06. I/O
 
Java. Lecture 05. Handling Exceptions and Debugging
Java. Lecture 05. Handling Exceptions and DebuggingJava. Lecture 05. Handling Exceptions and Debugging
Java. Lecture 05. Handling Exceptions and Debugging
 
Java. Lecture 04. Standart Library
Java. Lecture 04. Standart LibraryJava. Lecture 04. Standart Library
Java. Lecture 04. Standart Library
 
Java. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UMLJava. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UML
 
Java. Lecture 02. Classes and Objects
Java. Lecture 02. Classes and ObjectsJava. Lecture 02. Classes and Objects
Java. Lecture 02. Classes and Objects
 

Java. Lecture 06.1. XML Basics

  • 2. Текстовые данные • Freeform тексты сложно обрабатывать автоматически • Бинарные данные почти невозможно читать простому смертному Нужен компромисс: формат представления данных, который будет понятен и человеку, и машине в (относительно) равной степени.
  • 3. CSV Формат предполагает использование специальных символов- разделителей для отделения значения двух полей • Символы-разделители: . , ; t • Одна строка хранит информацию об одном объекте, следствие – таблицы «плоские» • Опционально, первая строка – заголовок с названием полей
  • 4. JSON Средство передачи объектов в текстовом виде поверх протокола HTTP • Простой • Human-readable • Нативная поддержка из JavaScript • Библиотеки для всех мыслимых платформ и языков • Есть возможность передавать иерархические данные
  • 5. JSON { “firstName”:”Hubert”, “lastName”:”Cumberdale”, “phone”: [ “312 3219359”, “800 3784753” ], “address”:{ “city”:”Aurora”, “street”:”State”, “building”:”1”, “apartment”:”10” } }
  • 6. XML XML позволяет хранить структурированные данные любой природы, сохраняя иерархическую структуру • Есть средства автоматической генерации, разбора и верификации XML-документов • Поддерживается множество разных кодировок • Есть возможность использования пространств имён • Есть средства хранения бинарных данных в текстовом виде (Base64) • Развитые средства для преобразования документов (XSLT, XPATH, …)
  • 7. XML • XML-документ – дерево • Другие абстракции – элемент, атрибут и их значения • В корне – всегда единственный элемент <?xml version="1.0" encoding="UTF-8"?> <EmployeeData> <Employee> <FirstName></FirstName> <LastName></LastName> <Address city=“” street=“” building=“” apartment=“” /> </Employee> </EmployeeData>
  • 8. XML удобно использовать для сериализации данных