Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.09.2019, 01:15
Аспирант
Отправить личное сообщение для misha.korolcov Посмотреть профиль Найти все сообщения от misha.korolcov
 
Регистрация: 05.09.2019
Сообщений: 84

распарсить xml
привет есть хмл https://api.privatbank.ua/p24api/pub...ange&coursid=5 на другом сайте надо получить и отобразить у себя не могу понять где ошибка
async function getDataFromCnbc() {

       
        const response = await                                                     
     fetch("https://corsproxy.glitch.me/https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=5");
    const xml = await response.text();
    const xmlDocument = new DOMParser().parseFromString(xml, "text/xml");

    for(const node of xmlDocument.querySelectorAll("item")) {
        const details = document.createElement("details");
        const summary = document.createElement("summary");
        summary.append(node.querySelector("title"));        
        const description = document.createElement("description");
        description.innerHTML = node.querySelector("description").textContent;        
        const link = document.createElement("a");
        link.href = node.querySelector("link").textContent;
        link.textContent = "Read more";  
        details.append(summary, description, link);
        document.body.append(details);
    }

}

document.addEventListener("DOMContentLoaded", getDataFromCnbc);

Последний раз редактировалось misha.korolcov, 09.09.2019 в 02:01.
Ответить с цитированием
  #2 (permalink)  
Старый 09.09.2019, 01:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

misha.korolcov,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 09.09.2019, 02:20
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от misha.korolcov
на другом сайте надо получить и отобразить у себя не могу понять где ошибка
На другом сайте другая структура xml. Соответственно вам нужна другая функция, которая будет разбирать другую структуру xml. Например так...
<style>

.buy, .sale {
	font: 1em system-ui;
	max-width: 20em;
	margin: 0 auto;
	display: flex;
}

.sale {
	margin-bottom: 1em;
}

.buy::before, .sale::before {
	opacity: 0.5;
	flex-basis: 5em;
	text-align: right;
	margin-right: 0.5em;
}

.buy::before {
	content: "Buy:";
}

.sale::before {
	content: "Sale:";
}

</style>
<script>

async function getDataFromPrivatBank() {
	const response = await fetch("https://corsproxy.glitch.me/https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=5");
	const xmlDocument = new DOMParser().parseFromString(await response.text(), "text/xml");

	for(const node of xmlDocument.querySelectorAll("exchangerate")) {
		const buy = document.createElement("div");
		const sale = document.createElement("div");
		
		buy.className = "buy";
		sale.className = "sale";

		buy.innerHTML = `1 ${node.getAttribute("ccy")} = ${node.getAttribute("buy")} ${node.getAttribute("base_ccy")}`;
		sale.innerHTML = `1 ${node.getAttribute("ccy")} = ${node.getAttribute("sale")} ${node.getAttribute("base_ccy")}`;

		document.body.append(buy, sale);
	}
}

document.addEventListener("DOMContentLoaded", getDataFromPrivatBank);

</script>


Сообщение от рони
Пожалуйста, отформатируйте свой код!
Читайте отформатированный код тут... https://javascript.ru/forum/dom-wind...tml#post512512

Последний раз редактировалось Malleys, 09.09.2019 в 02:24.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как распарсить xml misha.korolcov Элементы интерфейса 4 06.09.2019 00:39
Помогите распарсить XML документ timko_ya Общие вопросы Javascript 6 29.12.2017 09:07
Как распарсить XML? Isaac jQuery 3 05.03.2013 18:37
как распарсить xml? torsar Общие вопросы Javascript 5 05.09.2012 22:11
jquery распарсить xml выдрать html и вставить kukrinikson Javascript под браузер 0 30.05.2011 17:15