@polinawssss

Подключение xml с помощью js к html?

перепробовала кучу всего, не понимаю в чем проблема и почему данные не отображаются на странице
index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Пример загрузки XML с помощью JavaScript</title>
</head>
<body>
    <h1>Пример загрузки XML с помощью JavaScript</h1>
    <div id="xmlData"></div>

    <script src="script.js"></script>
</body>
</html>


data.xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <data>Hello, XML!</data>
    <image>Screenshot_1.png</image> <!-- Замените на путь к вашему изображению -->
</root>


script.js
window.addEventListener("DOMContentLoaded", function() {
    var xmlData = document.getElementById("xmlData");
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function() {
        if (xhr.readyState === XMLHttpRequest.DONE) {
            if (xhr.status === 200) {
                var xmlDoc = xhr.responseXML;
                var data = xmlDoc.getElementsByTagName("data")[0].textContent;
                var imageUrl = xmlDoc.getElementsByTagName("image")[0].textContent;

                xmlData.innerHTML = data;

                var imgElement = document.createElement("img");
                imgElement.setAttribute("src", imageUrl);
                imgElement.setAttribute("alt", "Описание изображения");
                xmlData.appendChild(imgElement);
            } else {
                console.error("Ошибка загрузки XML файла:", xhr.status);
            }
        }`введите сюда код`
    };
    xhr.open("GET", "data.xml");
    xhr.send();
});
  • Вопрос задан
  • 405 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
1. Нужно убедиться, что файлы script.js и data.xml находятся в том же каталоге, что и index.html.
2. Нужен веб-сервер, так как ajax-запрос вы не сделаете на файл диска data.xml.
На сервере должен быть определен домен (путь будет локальный), и в каталоге, с которым ассоциирован домен, должны находиться вышеупомянутые файлы.
Обращаться к index.html необходимо через домен.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы