我正在从POST响应中读取HTML文件并使用XMLSlurper解析它。页面上的textarea节点有一些HTML代码(非urlencoded - 不是我的选择),当我读取该值时,Groovy会删除所有标签。
示例:
<html>
<body>
<textarea><html><body>This has html code for some reason</body></html></textarea>
</body>
</html>
当我解析上面的内容然后找到(...)“textarea”节点时,它会返回给我:
This has html code for some reason
并没有任何标签。如何保留标签?
答案 0 :(得分:2)
我认为你得到了正确的数据,但是打错了...你能尝试使用StreamingMarkupBuilder将节点转换回一段xml吗?
def xml = '''<html>
| <body>
| <textarea><html><body>This has html code for some reason</body></html></textarea>
| </body>
|</html>'''
def ta = new XmlSlurper().parseText( xml ).body.textarea
String content = new groovy.xml.StreamingMarkupBuilder().bind {
mkp.yield ta.children()
}
assert content == '<html><body>This has html code for some reason</body></html>'