Вложенный XML-тег в Kotlin
Теги могут вкладываться друг в друга. Тогда нужный узел ищут по имени среди потомков:
<root>
<block>
<caption>alpha</caption>
</block>
</root>
Сначала берут внешний элемент, затем внутренний по его имени:
import org.xml.sax.InputSource
import org.w3c.dom.Element
import java.io.StringReader
import javax.xml.parsers.DocumentBuilderFactory
fun main() {
val xml = """
<root>
<block>
<caption>alpha</caption>
</block>
</root>
""".trimIndent()
val doc = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.parse(InputSource(StringReader(xml)))
val block = doc.getElementsByTagName("block")
.item(0) as Element
val caption = block.getElementsByTagName("caption")
.item(0).textContent
println(caption)
}
Дан следующий XML:
val xml = """
<root>
<tag1>
<tag2>
<tag3>
text
</tag3>
</tag2>
</tag1>
</root>
""".trimIndent()
Выведите в консоль текст самого внутреннего тега.