我从HTTP get获得以下响应。
<HTML><BODY>Now='11/7/2017 4:08:34 PM' Process='chrome' SessionID=1 User='Local\User' Culture='en-US'<BR></BODY></HTML>
我需要将正文中的数据转换为JSON对象。所以我试图删除HTML标签。虽然它有所不同,但我已尝试过,因为在 solution 中。它适用于HTML标记,但不适用于<html>
本身。
我也尝试过如下:
var content = "<HTML><BODY>Now='11/7/2017 4:08:34 PM' Process='chrome' SessionID=1 User='Local\User' Culture='en-US'<BR></BODY></HTML>";
var tag = document.createElement("html");
tag.outerHtml = content;
它出现以下错误:
Uncaught DOMException: Failed to set the 'outerHTML' property on 'Element': This element has no parent node.
虽然我知道可以使用regex
来实现,但我希望在没有regex
的情况下实现。
有人可以解决吗?
答案 0 :(得分:0)
使用DOMParser()
将HTML字符串转换为DOM:
# This compose file defines the docker stack for swarm deployement
#
version: "3"
networks:
myoverlay:
driver: overlay
volumes:
dbdata:
services:
mymongo:
image: "mvertes/alpine-mongo:latest"
command: ["mongod","--quiet"]
ports:
- 27017:27017
deploy:
replicas: 1
volumes:
- dbdata:/data/db/
networks:
- myoverlay
myrestheart:
image: openjdk:8-jre-alpine
volumes:
- ./target/MyRestheart-1.0-SNAPSHOT.jar:/myjar.jar:ro
ports:
- 8080:8080
command: ["java","-Dmongo=mongodb://mymongo:27017", "-jar", "/myjar.jar"]
deploy:
replicas: 1
networks:
- myoverlay
mynginx:
image: nginx:alpine
ports:
- 8081:8081
volumes:
- ./nginx.conf:/nginx.conf
command: ["nginx", "-g","daemon off;","-c","/nginx.conf"]
deploy:
replicas: 1
networks:
- myoverlay
答案 1 :(得分:-2)
刚刚创建了一个简单的codepen
。请尝试,它应该工作:
https://codepen.io/vishalkaului/pen/rYMGoy
+6
和 - 16将在开始<BODY>
标记之前和结束</BODY>
标记之前排除内容。它包括<BODY></BODY>
标记的排除。
(function () {
let serverResponse = "<HTML><BODY>Now='11/7/2017 4:08:34 PM'
Process='chrome' SessionID=1 User='Local\User' Culture='en-
US'<BR></BODY></HTML>";
console.log(serverResponse.substr(serverResponse.indexOf('<BODY>')+6,serverResponse.indexOf('</BODY>')-16));
})()
注意:强> 只有当您知道响应的结构相同时,此解决方案才适合。但是,内容可以变化,但响应数据之前和之后的标签相同。