Разбор данных из ответа html - PullRequest
       0

Разбор данных из ответа html

0 голосов
/ 26 сентября 2018

Я отправляю запрос GET в службу WMS через Angular's HttpClient.Ответ, который я получаю, это HTML в строке.Как я могу разобрать данные из этой строки?

Ответ выглядит так:

<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
<body>
<p>Temperature 16.6 °C</p>
<p>Temperature 18.2 °C</p>
</body></html>

Мне нужно получить значения внутри тегов абзаца.Я нашел решения только для отображения данных с помощью директивы innerHtml, но это не мой случай.

РЕДАКТИРОВАТЬ:

Я нашел одно возможное решение с помощью DOMParser:

const parser = new DOMParser();
const doc = parser.parseFromString(myHtmlStringResponse, "text/html");
const values = [];

const p = doc.getElementsByTagName("p");

for (const item of Array.from(p)) {
     values.push(item.textContent);
}

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Уберите все html из ответа с этим regEx:

data.replace(/<(?:.|\n)*?>/gm, '');

, где data - ваша строка ответа

Вы получите это:

Temperature 16.6 °C
Temperature 18.2 °C
0 голосов
/ 26 сентября 2018

Вы можете использовать синтаксический анализ, используя имя тега.

var pele = document.getElementsByTagName('p');

for(var i=0;i< pele.length;i++) {
  console.log(pele[i].innerHTML)
}

Но убедитесь, что вы используете jquery, затем поместите этот фрагмент кода в функцию ready.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...