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 Toolscolriot
 
Java. Lecture 10. Working with DBMS
Java. Lecture 10. Working with DBMSJava. Lecture 10. Working with DBMS
Java. Lecture 10. Working with DBMScolriot
 
Java. Lecture 09. Network Programming
Java. Lecture 09. Network ProgrammingJava. Lecture 09. Network Programming
Java. Lecture 09. Network Programmingcolriot
 
Java. Lecture 08. Multithreaded Programming
Java. Lecture 08. Multithreaded ProgrammingJava. Lecture 08. Multithreaded Programming
Java. Lecture 08. Multithreaded Programmingcolriot
 
Java. Lecture 01. Introducing Java
Java. Lecture 01. Introducing JavaJava. Lecture 01. Introducing Java
Java. Lecture 01. Introducing Javacolriot
 
Java. Lecture 07. Advanced XML
Java. Lecture 07. Advanced XMLJava. Lecture 07. Advanced XML
Java. Lecture 07. Advanced XMLcolriot
 
Java. Lecture 06. I/O
Java. Lecture 06. I/OJava. Lecture 06. I/O
Java. Lecture 06. I/Ocolriot
 
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 Debuggingcolriot
 
Java. Lecture 04. Standart Library
Java. Lecture 04. Standart LibraryJava. Lecture 04. Standart Library
Java. Lecture 04. Standart Librarycolriot
 
Java. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UMLJava. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UMLcolriot
 
Java. Lecture 02. Classes and Objects
Java. Lecture 02. Classes and ObjectsJava. Lecture 02. Classes and Objects
Java. Lecture 02. Classes and Objectscolriot
 

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 удобно использовать для сериализации данных