Имя тега с дефисом в Kotlin
В XML допустимы имена с дефисом. Для DOM это обычная строка имени, без особого синтаксиса:
<root>
<field-name>alpha</field-name>
<field-code>01</field-code>
</root>
Поиск выполняют тем же getElementsByTagName,
передавая полное имя с дефисом:
import org.xml.sax.InputSource
import java.io.StringReader
import javax.xml.parsers.DocumentBuilderFactory
fun main() {
val xml = """
<root>
<field-name>alpha</field-name>
<field-code>01</field-code>
</root>
""".trimIndent()
val doc = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.parse(InputSource(StringReader(xml)))
val name = doc.getElementsByTagName("field-name")
.item(0).textContent
val code = doc.getElementsByTagName("field-code")
.item(0).textContent
println(name)
println(code)
}
Дан следующий XML:
val xml = """
<root>
<user-name>john</user-name>
<user-surn>smit</user-surn>
</root>
""".trimIndent()
Выведите в консоль имя и фамилию юзера.