Kotlin:
Att arbeta med XML
Hur man gör:
I Kotlin kan du använda den inbyggda javax.xml.parsers
för tolkning:
import javax.xml.parsers.DocumentBuilderFactory
import org.w3c.dom.Document
fun parseXml(xmlData: String): Document {
val dbFactory = DocumentBuilderFactory.newInstance()
val dBuilder = dbFactory.newDocumentBuilder()
return dBuilder.parse(xmlData.byteInputStream())
}
För att skapa XML-dokument kan du använda javax.xml.transform
:
import javax.xml.transform.TransformerFactory
import javax.xml.transform.dom.DOMSource
import javax.xml.transform.stream.StreamResult
import org.w3c.dom.Document
import java.io.StringWriter
fun convertDocumentToString(doc: Document): String {
val transformer = TransformerFactory.newInstance().newTransformer()
val result = StringWriter()
transformer.transform(DOMSource(doc), StreamResult(result))
return result.toString()
}
Ett exempel på utdata för konvertering av ett dokument till sträng skulle helt enkelt vara ditt XML-innehåll i strängformat.
Djupdykning
XML har varit en grundsten inom webb- och mjukvaruutveckling sedan 90-talet, uppskattad för sin läsbarhet och strukturerade hierarki. Även om JSON har blivit populärt för webbtjänster på grund av sin enkelhet och mindre meddelandestorlek, är XML fortfarande utbrett i företagsmiljöer, SOAP-baserade webbtjänster och konfigurationer (som Android-layoutfiler).
Det finns olika bibliotek och API’er förutom de inbyggda funktionerna i Kotlin/Java för hantering av XML, såsom Simple XML Serialization och Jackson XML-modulen. Men javax.xml.parsers
och javax.xml.transform
brukar oftast täcka de flesta behov utan att lägga till externa beroenden.
När du hanterar XML i Kotlin inkluderar viktiga genomförandedetaljer att hantera teckenkodning korrekt och hantera XML-entiteter för att förhindra XML-injektionsattacker. Var medveten om komplexiteten i namnrymden och schemavalidering vid tolkning av XML för att säkerställa dataintegritet.