Gecko의 문자열에서 문서 작성
-
06-07-2019 - |
문제
나는 다음과 같은 문자열이 있습니다<html><body><div id="message">Hello World!</div></body></html>
그리고 HTML을 직접 구문 분석하지 않고 #MESSAGE 요소의 내용을 얻고 싶습니다.
나는 Gecko의 문자열에서 문서 개체를 만들 수 있다고 생각했지만 (이것은 Firefox 추가를위한 것입니다) 간단한 방법은 보이지 않습니다.
나는 a가 있음을 알아 차렸다 생성 서류 방법이지만 문자열을 사용하지 않습니다. 나는 그것을 제거해야했다 <html>
텍스트에서 나온 후 다시 물건을 가정하기 시작했습니다.
누구든지 아이디어가 있습니까? 감사.
편집 : 이것은 나에게 효과가있는 것 같습니다.
doc = document.implementation.createDocument( "http://www.w3.org/1999/xhtml", "html", null );
doc.firstChild.innerHTML = '<html><body><div id="message">Hello World!</div></body></html>';
node = doc.getElementById( "message" );
alert( node.innerHTML );
해결책
문자열은 어디서 얻습니까? XML이라면 사용으로 도망 갈 수 있습니다. DOMParser
.
그렇지 않으면 HTML 문서를 만들어야합니다. https://developer.mozilla.org/en/parsing_html_from_chrome.
그냥 사용하는 사실 createDocument
사람들이 이번에는 더 복잡한 솔루션을 사용했기 때문에 작품은 의심스러워 보입니다.
다른 팁
내 질문에 대답하는 것을 좋아하지 않지만 이것은 나에게 효과가있는 것 같습니다.
doc = document.implementation.createDocument( "http://www.w3.org/1999/xhtml", "html", null );
doc.firstChild.innerHTML = '<html><body><div id="message">Hello World!</div></body></html>';
node = doc.getElementById( "message" );
alert( node.innerHTML );
항상 그 구문입니까? 그렇다면 왜 Regex를 사용하지 않습니까?
제휴하지 않습니다 StackOverflow