我正在通过angular的GET
向WMS
服务发送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);
}
答案 0 :(得分:3)
使用此regEx剥离响应中的所有html:
data.replace(/<(?:.|\n)*?>/gm, '');
其中数据是您的响应字符串
您将获得:
Temperature 16.6 °C
Temperature 18.2 °C
答案 1 :(得分:0)
您可以通过使用标记名来使用解析。
var pele = document.getElementsByTagName('p');
for(var i=0;i< pele.length;i++) {
console.log(pele[i].innerHTML)
}
但是请确保您使用的是jquery,然后将此代码段置于ready函数下。