Атрибут XML-тега в Kotlin
Атрибуты пишут в открывающей скобке тега. Текст между тегами остаётся содержимым узла:
<root>
<unit id="7" stock="12">widget</unit>
</root>
Имя атрибута передают в getAttribute,
а подпись элемента - через textContent:
import org.xml.sax.InputSource
import org.w3c.dom.Element
import java.io.StringReader
import javax.xml.parsers.DocumentBuilderFactory
fun main() {
val xml = """
<root>
<unit id="7" stock="12">widget</unit>
</root>
""".trimIndent()
val doc = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.parse(InputSource(StringReader(xml)))
val unit = doc.getElementsByTagName("unit")
.item(0) as Element
println(unit.textContent)
println(unit.getAttribute("id"))
println(unit.getAttribute("stock"))
}
Дан следующий XML:
val xml = """
<root>
<user age="23" salary="1000">john</user>
</root>
""".trimIndent()
Выведите в консоль имя, возраст и зарплату юзера.