Javascript.RU

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

Как распарсить xml
++

Последний раз редактировалось misha.korolcov, 09.09.2019 в 23:18.
Ответить с цитированием
  #2 (permalink)  
Старый 05.09.2019, 10:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от misha.korolcov
Как распарсить xml
Вот тебе статейка...
https://vk-book.ru/poluchenie-dannyx...oshhyu-jquery/
Ответить с цитированием
  #3 (permalink)  
Старый 05.09.2019, 13:08
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

misha.korolcov, вы можете для разбора xml-документа использовать класс DOMParser...

<style>

details {
	font: 1em system-ui;
	max-width: 20em;
	margin: 1em auto;
}

details > summary,details > a {
	background: #607D8B;
	color: white;
	padding: 0.5em;
	cursor: pointer;
	border-radius: 5px;
}

details > a {
	display: block;
	width: max-content;
	margin: 0.5em auto;
	text-decoration: none;
}

</style>
<script>

async function getDataFromCnbc() {
	const response = await fetch("https://corsproxy.glitch.me/https://www.cnbc.com/id/10000664/device/rss/rss.html");
	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);

</script>
Ответить с цитированием
  #4 (permalink)  
Старый 05.09.2019, 21:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Если нет .xml() почему б его не зафигачить?)
Response.prototype.xml = async function (type = 'application/xml') {
  return new DOMParser().parseFromString(await this.text(), type)
}
А дальше вместо .json() фигачим .xml().
А ещё можно какую-нить либу xml to json прилепить и вообще не париться.)
__________________
29375, 35

Последний раз редактировалось Aetae, 05.09.2019 в 21:36.
Ответить с цитированием
  #5 (permalink)  
Старый 06.09.2019, 00:39
Аспирант
Отправить личное сообщение для misha.korolcov Посмотреть профиль Найти все сообщения от misha.korolcov
 
Регистрация: 05.09.2019
Сообщений: 84

спс парни очень помогли)))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно распарсить строку в формат даты (native js)? s24344 Элементы интерфейса 5 26.01.2019 07:01
Как преобразовать XML в HTML таблицу? vave Общие вопросы Javascript 9 16.05.2015 06:10
как распарсить json imediasun1 Элементы интерфейса 2 08.04.2014 16:29
Как получить список attributes ноды XML andypop Events/DOM/Window 11 03.03.2014 10:41
Распарсить xml, зная структуру alex55 Events/DOM/Window 21 11.08.2013 00:11