kotlin编写Html文件
import java . io . File /** * Created by FangJu on 2020/1/28 * Html DSL */ interface Node { fun render ( ) : String } class StringNode ( val value : String ) : Node { override fun render ( ) : String { return value } } // 父结点 class BlockNode ( val name : String ) : Node { // 子节点 val children = ArrayList < Node > ( ) // 每个头结点对应的属性 val properties = HashMap < String , Any > ( ) override fun render ( ) : String { return """ < $name ${ properties . map { "$ { it . key } = ' ${ it . value } '" }.joinToString("")}> ${ children . joinToString ( "" ) { it . render ( ) } } </ $name > """ . trimIndent (