Выборка данных из XML

XML (eXtensible Markup Language) — это универсальный язык разметки, который используется для хранения и передачи данных. Одним из ключевых преимуществ XML является его способность представлять данные в структурированном формате, что облегчает доступ к информации.

Однако работа с XML-файлами может быть вызовом для разработчиков и аналитиков данных. Все дело в том, что XML имеет иерархическую структуру, состоящую из элементов и атрибутов, и может содержать сложные вложенные структуры данных.

В данной статье мы рассмотрим основные способы выборки данных из XML-файла с использованием различных инструментов и техник. Мы покажем, как использовать XPath (XML Path Language), чтобы указать путь к нужным элементам и атрибутам, и как использовать XQuery для выполнения сложных запросов к XML-документам.

Зачем нужна выборка данных из XML?

Выборка данных из XML-файла имеет ряд важных преимуществ:

  • Структурированность: XML позволяет организовать данные в иерархическую структуру, что упрощает их обработку, анализ и поиск.
  • Универсальность: XML является платформо- и языко-независимым форматом, что позволяет использовать его на различных платформах и с различными языками программирования.
  • Расширяемость: XML поддерживает возможность создания собственных пользовательских элементов данных и расширения стандартной структуры.
  • Удобство: выборка данных из XML позволяет получить нужную информацию, соответствующую определенному запросу, и использовать ее для различных целей, таких как отображение, обработка или анализ данных.

Использование выборки данных из XML-файла важно для эффективной работы с информацией и обеспечения взаимодействия между различными системами и приложениями в современном информационном мире.

Процесс выборки данных

Процесс выборки данных из XML-файла состоит из нескольких основных шагов:

  • Парсинг XML
  • Навигация по структуре XML
  • Извлечение необходимых данных

Первым шагом является парсинг XML-файла, то есть его анализ и преобразование в удобную для работы структуру данных. Для этого можно использовать специализированные библиотеки или инструменты, такие как DOM (Document Object Model), SAX (Simple API for XML) или StAX (Streaming API for XML).

После успешного парсинга XML-файла, можно приступить к навигации по его структуре. Это позволяет находить и извлекать нужные элементы и атрибуты, а также перемещаться между ними. Обычно для навигации используются методы и функции, предоставляемые библиотеками XML-обработки.

Извлечение нужных данных происходит после того, как необходимые элементы и атрибуты были найдены. Для этого могут использоваться различные методы и функции, такие как получение значения атрибута, текстового содержимого элемента или списка элементов с определенным тегом.

После извлечения данных их можно обработать и использовать по своему усмотрению. Например, можно сохранить их в базу данных, проанализировать, вывести на экран или использовать в дальнейших вычислениях или расчетах.

Таким образом, процесс выборки данных из XML-файла включает несколько шагов — парсинг, навигация и извлечение. Каждый из этих шагов требует использования соответствующих методов и функций, предоставляемых библиотеками XML-обработки.

Различные методы выборки данных

Выборка данных из XML-файла может быть осуществлена различными способами, в зависимости от конкретных требований и целей проекта. Рассмотрим некоторые из них:

  1. Поиск по имени тега – данный метод позволяет выбирать элементы по имени тега или его атрибутов. С помощью специальных методов и функций можно легко осуществить поиск и получить нужные данные.
  2. Использование XPath – XPath (XML Path Language) – это язык запросов, который позволяет осуществлять выборку данных из документов в формате XML. С его помощью можно указать путь к нужному элементу или группе элементов с учетом их отношений и атрибутов.
  3. Использование CSS-селекторов – подобно XPath, с помощью CSS-селекторов можно указать путь к нужным элементам. Возможности CSS-селекторов весьма широки, и они позволяют осуществить выборку данных по различным критериям, например, по классу, идентификатору или содержимому.
  4. Использование специализированных библиотек – существует множество библиотек и инструментов, которые предоставляют удобные функции и методы для выборки данных из XML-файлов. Такие библиотеки значительно упрощают работу с XML и обеспечивают возможность выборки данных по различным критериям.
  5. Использование регулярных выражений – если XML-файл имеет достаточно простую структуру и данные выражаются в определенных шаблонах, то можно использовать регулярные выражения для извлечения информации. Однако стоит помнить, что регулярные выражения не являются универсальным и надежным способом для работы с XML и могут привести к ошибкам при комплексной структуре данных.

Выбор подходящего метода выборки данных из XML-файла зависит от множества факторов, включая сложность структуры данных, требования к производительности, доступные инструменты и библиотеки, а также уровень знаний и опыт разработчика. Важно выбрать наиболее эффективный и надежный метод, который позволит получить необходимую информацию из XML-файла с минимальными затратами времени и ресурсов.

Выборка данных с использованием XPath

Примеры использования XPath:

  • Выбор всех элементов определенного типа: //book (найти все элементы с тегом «book»)
  • Выбор элементов по их атрибутам: //book[@category="fiction"] (найти все элементы «book» с атрибутом «category» равным «fiction»)
  • Выбор элементов по их положению в структуре: //book[1] (найти первый элемент «book»)
  • Выбор определенного элемента внутри другого элемента: //book/author (найти элемент «author», находящийся внутри элемента «book»)

XPath поддерживается большинством языков программирования и средств для работы с XML. Он предоставляет мощный и удобный способ выборки данных из XML-файлов. Важно освоить XPath, чтобы эффективно работать с XML-структурами и извлекать нужные данные.

Выборка данных с использованием CSS-селекторов

Для работы с CSS-селекторами в XML-файлах можно использовать различные методы и библиотеки. Например, селекторы можно применять с помощью JavaScript или PHP, используя соответствующие функции и методы.

Вот некоторые основные CSS-селекторы, которые можно использовать для выборки данных из XML:

  • Элемент: дает возможность выбрать все элементы определенного типа. Например, селектор «p» выберет все абзацы в документе.
  • Класс: позволяет выбрать элементы с определенным классом. Например, селектор «.класс» выберет все элементы с указанным классом.
  • Идентификатор: позволяет выбрать элемент с определенным идентификатором. Например, селектор «#идентификатор» выберет элемент с указанным идентификатором.
  • Дочерний элемент: позволяет выбрать дочерний элемент определенного элемента. Например, селектор «элемент > дочерний элемент» выберет все дочерние элементы указанного элемента.

Помимо основных селекторов, существуют и другие, более сложные CSS-селекторы, которые позволяют более точно выбирать нужные данные. Например, селекторы для выборки элементов с определенными атрибутами или значениями.

Использование CSS-селекторов для выборки данных из XML-файлов упрощает и ускоряет процесс обработки информации. Благодаря своей гибкости и мощности, селекторы позволяют точно указать нужные элементы и атрибуты, минимизируя возможность ошибок.

Выборка данных с использованием регулярных выражений

Для работы с регулярными выражениями в языке программирования необходимо использовать соответствующую библиотеку или функции. Например, в языке JavaScript это функции match или exec, в языке Python — модуль re.

Регулярные выражения состоят из специальных символов, которые обозначают определенные условия поиска. Например, символы ^ и $ обозначают начало и конец строки соответственно, символы . и * соответствуют любому символу и нулю или более повторениям предыдущего символа.

Чтобы извлечь данные из XML-файла с использованием регулярных выражений, необходимо задать шаблон, который будет соответствовать нужному фрагменту текста. Например, для извлечения всех значений тега <title> из XML-файла, можно использовать следующий шаблон: <title>(.+)</title>.

Однако следует быть осторожным при использовании регулярных выражений для обработки XML-файлов. XML является структурированным форматом данных, и для работы с ним рекомендуется использовать специализированные библиотеки и функции, которые предоставляются языком программирования. Такие инструменты обеспечивают более надежное и эффективное извлечение данных из XML.

Примеры выборки данных из XML

Выборка данных из XML-файла может осуществляться при помощи различных средств и технологий. Ниже приведены несколько примеров того, как можно извлечь информацию из XML-структуры.

1. Используя XPath:

Один из самых распространенных способов выборки данных из XML-файла — использование языка запросов XPath. XPath позволяет указывать путь к нужным узлам XML-структуры с помощью понятного синтаксиса.


// Выбор всех элементов :
XPathExpression expr = xpath.compile("//book");
NodeList nodes = (NodeList) expr.evaluate(document, XPathConstants.NODESET);

2. Используя DOM-модель:

DOM (Document Object Model) — это общепринятый стандарт, который представляет XML-структуру в виде дерева объектов. DOM API позволяет обращаться к узлам XML и получать доступ к их атрибутам и значениям.


// Поиск элемента:<br /> NodeList titleList = document.getElementsByTagName("title");<br /> if (titleList.getLength() > 0) {<br /> Node titleNode = titleList.item(0);<br /> String title = titleNode.getTextContent();<br /> }<br /> </code></p><p><strong>3. Используя XML-сериализацию:</strong></p><p>XML-сериализация позволяет превратить объекты Java в XML и наоборот. В Java XML Binding (JAXB) есть API для преобразования объектов в XML и работе с XML-данными.</p><p><code><br /> // Преобразование XML в объект класса Book:<br /> JAXBContext jaxbContext = JAXBContext.newInstance(Book.class);<br /> Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();<br /> Book book = (Book) unmarshaller.unmarshal(xmlFile);<br /> </code></p><p>Это лишь несколько примеров выборки данных из XML-файла. Решение о том, какой метод использовать, зависит от особенностей проекта и требований к извлекаемым данным.</p><h2 id="rekomendatsii-po-vyborke-dannyh-iz-xml">Рекомендации по выборке данных из XML</h2><p>Вот несколько рекомендаций, которые помогут вам правильно выбирать данные из XML:</p><table><tr><td><strong>Рекомендация</strong></td><td><strong>Описание</strong></td></tr><tr><td>Используйте соответствующие методы выборки</td><td>XML-документы могут быть очень большими, поэтому важно использовать методы выборки данных, которые могут обрабатывать большие объемы информации. Некоторые из таких методов включают XPath и XQuery.</td></tr><tr><td>Обратите внимание на структуру XML</td><td>Перед выборкой данных из XML необходимо проанализировать структуру документа и определить, какие элементы и атрибуты содержат нужную информацию. Это позволит точно указать путь к данным при выборке.</td></tr><tr><td>Используйте индексы для ускорения выборки</td><td>Если вы работаете с большими XML-документами, рекомендуется использовать индексы для ускорения выборки данных. Индексы создаются на основе часто запрашиваемых элементов или атрибутов XML.</td></tr><tr><td>Обрабатывайте ошибки</td><td>При выборке данных из XML может возникнуть ошибка из-за неправильной структуры документа. Важно предусмотреть обработку ошибок и предупредить пользователей о возможных проблемах при выборке данных.</td></tr><tr><td>Используйте специальные инструменты</td><td>Существует множество инструментов и библиотек для работы с XML. Они могут упростить выборку и обработку данных, предоставляя дополнительные функциональные возможности и утилиты.</td></tr></table><p>Следуя этим рекомендациям, вы сможете эффективно выбирать данные из XML-файлов и использовать полученную информацию в своих приложениях или проектах.</p><p>Извлечение информации из XML-файлов может быть достаточно сложной задачей, особенно если файл содержит большое количество данных и сложную структуру. Однако, с помощью правильного подхода и использования специальных инструментов, вы можете успешно получать нужные данные.</p><p>При выборе способа извлечения данных из XML-файла важно учитывать его структуру и особенности. Вы можете использовать различные методы, такие как XSLT, XPath или DOM, в зависимости от ваших потребностей и опыта.</p><p>При работе с XML рекомендуется следовать некоторым рекомендациям. Во-первых, всегда проверяйте структуру XML-файла перед началом обработки данных. Во-вторых, будьте внимательны к тегам и атрибутам XML-элементов, чтобы правильно указывать путь к нужным данным. В-третьих, используйте специальные инструменты и библиотеки для более удобной работы с XML-файлами.</p><div class="fpm_end"></div></div></article><div class="rating-box"><div class="rating-box__header">Оцените статью</div><div class="wp-star-rating js-star-rating star-rating--score-0" data-post-id="11805" data-rating-count="0" data-rating-sum="0" data-rating-value="0"><span class="star-rating-item js-star-rating-item" data-score="1"><svg aria-hidden="true" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="i-ico"><path fill="currentColor" d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z" class="ico-star"></path></svg></span><span class="star-rating-item js-star-rating-item" data-score="2"><svg aria-hidden="true" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="i-ico"><path fill="currentColor" d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z" class="ico-star"></path></svg></span><span class="star-rating-item js-star-rating-item" data-score="3"><svg aria-hidden="true" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="i-ico"><path fill="currentColor" d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z" class="ico-star"></path></svg></span><span class="star-rating-item js-star-rating-item" data-score="4"><svg aria-hidden="true" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="i-ico"><path fill="currentColor" d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z" class="ico-star"></path></svg></span><span class="star-rating-item js-star-rating-item" data-score="5"><svg aria-hidden="true" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="i-ico"><path fill="currentColor" d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z" class="ico-star"></path></svg></span></div></div><div class="entry-social"><div class="social-buttons"><span class="social-button social-button--vkontakte" data-social="vkontakte" data-image=""></span><span class="social-button social-button--telegram" data-social="telegram"></span><span class="social-button social-button--odnoklassniki" data-social="odnoklassniki"></span><span class="social-button social-button--twitter" data-social="twitter"></span><span class="social-button social-button--sms" data-social="sms"></span><span class="social-button social-button--whatsapp" data-social="whatsapp"></span><span class="social-button social-button--pinterest" data-social="pinterest" data-url="https://ways4you.ru/vyborka-dannyx-iz-xml/" data-title="Выборка данных из XML" data-description="XML (eXtensible Markup Language) — это универсальный язык разметки, который используется для хранения и передачи данных. Одним из ключевых преимуществ XML является его способность представлять данные в структурированном формате, что облегчает доступ к информации. Однако работа с XML-файлами может быть вызовом для разработчиков и аналитиков данных. Все дело в том, что XML имеет иерархическую структуру, […]" data-image=""></span></div></div><meta itemprop="author" content="admin"><meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://ways4you.ru/vyborka-dannyx-iz-xml/" content="Выборка данных из XML"><div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><meta itemprop="name" content="ways4you.ru"><meta itemprop="telephone" content="ways4you.ru"><meta itemprop="address" content="https://ways4you.ru"></div></main></div><aside id="secondary" class="widget-area" itemscope itemtype="http://schema.org/WPSideBar"><div class="sticky-sidebar js-sticky-sidebar"><div id="custom_html-2" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div id="Q_sidebar"></div></div></div></div></aside><div id="related-posts" class="related-posts fixed"><div class="related-posts__header">Вам также может понравиться</div><div class="post-cards post-cards--vertical"><div class="post-card post-card--related post-card--thumbnail-no"><div class="post-card__title"><a href="https://ways4you.ru/kak-ispolzovat-rastrovuyu-kartinku-v-kacestve-fona-dlya-path-v-svg/">Как использовать растровую картинку в качестве фона для path в SVG</a></div><div class="post-card__description">SVG (Scalable Vector Graphics) предоставляет богатые</div></div><div class="post-card post-card--related post-card--thumbnail-no"><div class="post-card__title"><a href="https://ways4you.ru/kak-zadat-v-android-staticeskii-ip-v-wifi-seti-iz-koda/">Как задать в андроид статический IP в WiFi сети из кода</a></div><div class="post-card__description">WiFi является наиболее распространенным способом подключения</div></div><div class="post-card post-card--related post-card--thumbnail-no"><div class="post-card__title"><a href="https://ways4you.ru/gnom-rakuska-rassireniya-i-krusenie/">Гном-ракушка: расширения и крушение</a></div><div class="post-card__description">Гном-ракушка – загадочное и мистическое существо, привлекающее</div></div><div class="post-card post-card--related post-card--thumbnail-no"><div class="post-card__title"><a href="https://ways4you.ru/moi-graficeskii-interfeis-ne-zagruzaetsya-posle-nedavnego-obnovleniya/">Мой графический интерфейс не загружается после недавнего обновления</a></div><div class="post-card__description">Обновления – важный аспект работы программного обеспечения.</div></div></div></div></div></div><div class="site-footer-container "><footer id="colophon" class="site-footer site-footer--style-gray full"><div class="site-footer-inner fixed"><div class="footer-widgets footer-widgets-3"><div class="footer-widget"><div id="nav_menu-3" class="widget widget_nav_menu"><div class="widget-header">О нас</div><div class="menu-about_menu-container"><ul id="menu-about_menu" class="menu"><li id="menu-item-36" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36"><a href="https://ways4you.ru/kontakty/">Обратная связь</a></li><li id="menu-item-65" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-65"><a href="/sitemap_index.xml">Карта сайта</a></li></ul></div></div></div><div class="footer-widget"><div id="wpshop_widget_articles-2" class="widget widget_wpshop_widget_articles"><div class="widget-header">Читают сейчас</div><div class="widget-articles"><article class="post-card post-card--small"><div class="post-card__body"><div class="post-card__title"><a href="https://ways4you.ru/pocemu-selenium-vyvodit-tolko-odnu-poziciyu-posle-parsinga/">Почему selenium выводит только одну позицию после парсинга</a></div></div></article><article class="post-card post-card--small"><div class="post-card__body"><div class="post-card__title"><a href="https://ways4you.ru/gulp-browsersync-stranica-ne-obnovlyaetsya/">Gulp Browsersync страница не обновляется</a></div></div></article><article class="post-card post-card--small"><div class="post-card__body"><div class="post-card__title"><a href="https://ways4you.ru/korzina-sqlite-sovety-po-ispolzovaniyu/">Корзина SQLite — советы по использованию</a></div></div></article></div></div></div><div class="footer-widget"><div id="nav_menu-4" class="widget widget_nav_menu"><div class="widget-header">Сайт использует Cookie</div><div class="menu-cookie_menu-container"><ul id="menu-cookie_menu" class="menu"><li id="menu-item-66" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-66"><a rel="privacy-policy" href="https://ways4you.ru/privacy-policy/">Политика конфиденциальности</a></li><li id="menu-item-67" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-67"><a href="https://ways4you.ru/soglashenie/">Пользовательское соглашение</a></li></ul></div></div></div></div><div class="footer-bottom"><div class="footer-info"> © 2024 ways4you.ru</div></div></div></footer></div></div> <script>document.addEventListener("copy", (event) => {var pagelink = "\nИсточник: https://ways4you.ru/vyborka-dannyx-iz-xml";event.clipboardData.setData("text", document.getSelection() + pagelink);event.preventDefault();});</script><script type="text/javascript" id="reboot-scripts-js-extra">var settings_array = {"rating_text_average":"\u0441\u0440\u0435\u0434\u043d\u0435\u0435","rating_text_from":"\u0438\u0437","lightbox_display":"1","sidebar_fixed":"1"}; var wps_ajax = {"url":"https:\/\/ways4you.ru\/wp-admin\/admin-ajax.php","nonce":"b1d0d799e2"};</script> <script>window.lazyLoadOptions = { elements_selector: "img[data-lazy-src],.rocket-lazyload,iframe[data-lazy-src]", data_src: "lazy-src", data_srcset: "lazy-srcset", data_sizes: "lazy-sizes", class_loading: "lazyloading", class_loaded: "lazyloaded", threshold: 300, callback_loaded: function(element) { if ( element.tagName === "IFRAME" && element.dataset.rocketLazyload == "fitvidscompatible" ) { if (element.classList.contains("lazyloaded") ) { if (typeof window.jQuery != "undefined") { if (jQuery.fn.fitVids) { jQuery(element).parent().fitVids(); } } } } }}; window.addEventListener('LazyLoad::Initialized', function (e) { var lazyLoadInstance = e.detail.instance; if (window.MutationObserver) { var observer = new MutationObserver(function(mutations) { var image_count = 0; var iframe_count = 0; var rocketlazy_count = 0; mutations.forEach(function(mutation) { for (i = 0; i < mutation.addedNodes.length; i++) { if (typeof mutation.addedNodes[i].getElementsByTagName !== 'function') { return; } if (typeof mutation.addedNodes[i].getElementsByClassName !== 'function') { return; } images = mutation.addedNodes[i].getElementsByTagName('img'); is_image = mutation.addedNodes[i].tagName == "IMG"; iframes = mutation.addedNodes[i].getElementsByTagName('iframe'); is_iframe = mutation.addedNodes[i].tagName == "IFRAME"; rocket_lazy = mutation.addedNodes[i].getElementsByClassName('rocket-lazyload'); image_count += images.length; iframe_count += iframes.length; rocketlazy_count += rocket_lazy.length; if(is_image){ image_count += 1; } if(is_iframe){ iframe_count += 1; } } } ); if(image_count > 0 || iframe_count > 0 || rocketlazy_count > 0){ lazyLoadInstance.update(); } } ); var b = document.getElementsByTagName("body")[0]; var config = { childList: true, subtree: true }; observer.observe(b, config); } }, false);</script><script data-no-minify="1" async src="https://ways4you.ru/wp-content/plugins/rocket-lazy-load/assets/js/16.1/lazyload.min.js"></script><script>function lazyLoadThumb(e){var t='<img loading="lazy" data-lazy-src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"><noscript><img src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"></noscript>',a='<div class="play"></div>';return t.replace("ID",e)+a}function lazyLoadYoutubeIframe(){var e=document.createElement("iframe"),t="ID?autoplay=1";t+=0===this.dataset.query.length?'':'&'+this.dataset.query;e.setAttribute("src",t.replace("ID",this.dataset.src)),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","1"),e.setAttribute("allow", "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"),this.parentNode.replaceChild(e,this)}document.addEventListener("DOMContentLoaded",function(){var e,t,a=document.getElementsByClassName("rll-youtube-player");for(t=0;t<a.length;t++)e=document.createElement("div"),e.setAttribute("data-id",a[t].dataset.id),e.setAttribute("data-query", a[t].dataset.query),e.setAttribute("data-src", a[t].dataset.src),e.innerHTML=lazyLoadThumb(a[t].dataset.id),e.onclick=lazyLoadYoutubeIframe,a[t].appendChild(e)});</script> <script defer src="https://ways4you.ru/wp-content/cache/autoptimize/js/autoptimize_8719a8fcc817f74da642350c845eb2cd.js"></script></body></html>