0
친애하는 모든 사람이 다음 HTML 조각을 구문 분석하려고합니다. HTML 및 BODY 태그가없는 출력과 동일한 조각을 얻고 싶습니다. 이것이 가능한가? 그렇다면 어떻게? XmlSlurper/NekoHTML 문서 조각 파싱 - HTML 또는 BODY 태그가 필요 없음
는추신 당신에게 미샤 감사 나는 여기에서 읽고있다 : http://nekohtml.sourceforge.net/faq.html#fragments 나는 정확한 옵션을 아래에 추가했다고 생각한다. 그러나, 출력은 여전히 잘못 :(
당신에게 미샤 감사
import groovy.xml.MarkupBuilder
import groovy.xml.StreamingMarkupBuilder
import groovy.util.XmlNodePrinter
import groovy.util.slurpersupport.NodeChild
def text="""
<div><h2>Test</h2>
<div>Hi</div>
</div>
"""
// Parse
def config=new org.cyberneko.html.HTMLConfiguration()
config.setFeature("http://cyberneko.org/html/features/balance-tags/document-fragment",true)
def html=new XmlSlurper(new org.cyberneko.html.parsers.SAXParser()).parseText(text)
// Output
def printNode(NodeChild node) {
def writer = new StringWriter()
writer << new StreamingMarkupBuilder().bind {
mkp.declareNamespace('':node[0].namespaceURI())
mkp.yield node
}
new XmlNodePrinter().print(new XmlParser().parseText(writer.toString()))
}
printNode(html)
출력 : 직접 파서 객체에
<HTML>
<tag0:HEAD xmlns:tag0="http://www.w3.org/1999/xhtml"/>
<BODY>
<DIV>
<H2>
Test
</H2>
<DIV>
Hi
</DIV>
</DIV>
</BODY>
</HTML>
너는 천재 야! 고마워. :) –