Senast uppdaterad: 21 May, 2025

Vad är XML?
XML (Extensible Markup Language) är ett märkspråk och filformat som används för att lagra, överföra och återskapa data. Det ger ett strukturerat tillvägagångssätt för att koda information, vilket gör det både människoläsbart och maskinläsbart.
Viktiga funktioner i XML
1. Definierad av öppna standarder
- Etablerad av World Wide Web Consortium (W3C) 1998 under XML 1.0 Specification.
- Följer strikta regler för att säkerställa att data är strukturerad och lätt att tolka.
2. Designmål
- XML är designat med enkelhet, allmängiltighet och användbarhet över olika plattformar.
- Använder ett textbaserat format, vilket gör det lätt att läsa och redigera.
3. Unicode‑stöd
- XML stödjer Unicode, vilket möjliggör lagring och bearbetning av text på flera språk.
4. Mångsidighet
- Ursprungligen skapat för dokument, används XML nu brett för datarepresentation över olika områden, inklusive webbtjänster, API:er och konfigurationsfiler.
5. Schema och API:er
- XML‑strukturer kan definieras med Document Type Definition (DTD), XML Schema (XSD) eller Relax NG.
- Olika API:er, såsom DOM (Document Object Model) och SAX (Simple API for XML), möjliggör XML‑behandling.
6. Vanliga användningsområden för XML
- Datautbyte mellan olika system (t.ex. webbtjänster, API:er).
- Konfigurationsfiler i programvaror.
- Lagring av strukturerad information (t.ex. RSS-flöden, SVG-grafik, dokumentformat som DOCX).
- Webbutveckling (t.ex. XHTML, SOAP, AJAX‑baserade applikationer).
Nu när du vet vad XML är, lär dig hur du läser och redigerar XML-filer med den här nybörjarvänliga guiden.
XML‑översikt
1. XML:s huvudsyfte: Serialisering
Serialisering i XML betyder:
- Lagring av data i ett strukturerat format.
- Överföring av data mellan olika system.
- Återskapande av data i en användbar form.
När två system behöver utbyta information tillhandahåller XML ett standardiserat filformat för interoperabilitet. Det fungerar som ett “lingua franca” för strukturerat datautbyte.
2. XML som märkspråk
XML är ett märkspråk, vilket betyder att det:
- Märker data med taggar för tydlig struktur.
- Organiserar information hierarkiskt.
- Kategoriserar data med metadata.
Exempel:
<book>
<title>XML Basics</title>
<author>John Doe</author>
</book>
Här, <book>, <title> och <author> är taggar som definierar dataelement.
3. XML‑schema (XSD) och validering
Ett XML‑schema (XSD) definierar strukturella regler för XML‑dokument.
XML‑dokument kan vara:
- Välformade → Följer grundläggande syntaxregler (korrekt nästning, korrekta avslutningstaggar).
- Giltiga → Överensstämmer med schemaregler (obligatoriska element, korrekta datatyper).
Exempel på en XSD‑regel:
<xs:element name="title" type="xs:string"/>
Detta säkerställer att <title> måste innehålla ett strängvärde.
4. XML‑medietyper (RFC 7303)
IETF RFC 7303 definierar XML‑medietyper för dataöverföring:
- application/xml → Standard XML‑data.
- application/xml-external-parsed-entity → Parsade XML‑entiteter.
- application/xml-dtd → XML DTD‑dokument.
För XML‑baserade format används suffixet +xml (t.ex. image/svg+xml för SVG-bilder).
5. XML i nätverksapplikationer (RFC 3470 / IETF BCP 70)
IETF BCP 70 (RFC 3470) beskriver bästa praxis för användning av XML i nätverksbaserade applikationer, vilket säkerställer sömlös datainteroperabilitet mellan system.
För att arbeta med XML programmässigt, utforska de bästa XML‑parsers för Python, Java och JavaScript.
1. Tillämpningar av XML
XML är ett flexibelt märkspråk utformat för datautbyte över Internet. Dess syntax har påverkat många dokumentformat och kommunikationsprotokoll, vilket gör det till en grundläggande teknik i många branscher.
Vanliga XML‑baserade format:
- Webbflöden: RSS, Atom
- Kontorsdokument: Office Open XML, OpenDocument
- Grafik och 3D-modeller: SVG, COLLADA
- Webbteknologier: XHTML
- Datautbytesprotokoll: SOAP, XMPP
- AJAX: Använder XML för asynkron datautbyte
Branschstandarder som använder XML:
- Hälsovård: HL7 (Health Level 7)
- Resebranschen: OpenTravel Alliance
- Finans: FpML (Financial products Markup Language)
- Fastigheter & bolån: MISMO
- Statlig datautbyte: National Information Exchange Model
XML inom vetenskap:
Inom meteorologi används XML för operativ väderdatapresentation enligt IWXXM-standarder. På liknande sätt är Darwin Information Typing Architecture (DITA) ett XML‑standard som används i stor utsträckning inom publicering.
För praktisk implementering, kolla in vår handledning om hur man läser och redigerar XML i Python, Java och JavaScript.
2. Grundläggande terminologi i XML
Att förstå den grundläggande terminologin i XML är avgörande för att effektivt arbeta med XML‑dokument.
Tecken
Ett XML‑dokument är en sekvens av Unicode‑tecken. XML 1.1 tillåter nästan alla Unicode‑tecken, förutom null‑tecknet (U+0000), som är strikt förbjudet.
Processor och applikation
- XML‑processorn (eller parsern) läser och analyserar XML‑märket.
- Applikationen tar emot strukturerad data från processorn och agerar på den.
Markup och innehåll
XML delar upp tecken i markup och innehåll:
- Markup: Inkluderar element, attribut och entiteter (t.ex.
<tag>och&). - Content: Den faktiska datan inom element.
- CDATA‑sektioner: Tillåter text som inte ska tolkas som markup, omsluten av
<![CDATA[ ... ]]>.
Taggar och element
- Taggar: Markup‑konstruktioner omslutna av
< >.<section>(Start‑tagg)</section>(Slut‑tagg)<line-break />(Tom‑element‑tagg)
- Element: Logiska komponenter definierade av taggar.
- Exempel:
<greeting>Hello, world!</greeting>
- Exempel:
Attribut
Attribut ger metadata för element med namn‑värde‑par. Exempel:
<img src="image.jpg" alt="Description" />
src="image.jpg" och alt="Description" är attribut till <img>‑elementet.
3. Tecken och escapning i XML
Giltiga Unicode‑tecken i XML
XML‑dokument tillåter endast specifika Unicode‑tecken för att säkerställa korrekt parsning.
Tillåtna tecken i XML 1.0:
- Kontrolltecken:
U+0009(Tabb)U+000A(Radmatning)U+000D(Vagnretur)
- Texttecken:
U+0020–U+D7FFU+E000–U+FFFDU+10000–U+10FFFF
XML 1.1‑förbättringar:
- Tillåter alla U+0001–U+001F kontrolltecken men kräver att de escapas.
- U+0000 (null‑tecken) förblir förbjudet.
4. Kodning i XML
Vanliga XML‑kodningar:
- UTF-8 (Rekommenderat standard)
- UTF-16 (Måste stödjas av alla XML‑parsers)
- ASCII, ISO-8859-X (Äldre kodningar)
Kodningsdeklaration i XML:
<?xml version="1.0" encoding="UTF-8"?>
- Om ingen kodning specificeras, antas UTF-8.
- UTF-16 kräver ett BOM (Byte Order Mark) för korrekt identifiering.
5. Escapning av specialtecken i XML
Eftersom XML‑syntax reserverar vissa tecken, måste de escapas för att undvika konflikter.
Fördefinierade XML‑entiteter:
| Tecken | Escapad form | Exempel |
|---|---|---|
< (Less than) | < | I <3 XML → I <3 XML |
> (Greater than) | > | x > y → x > y |
& (Ampersand) | & | AT&T → AT&T |
' (Single quote) | ' | "O'Reilly" → O’Reilly |
" (Double quote) | " | She said "hello" → She said “hello” |
Numeriska teckenreferenser:
För specialtecken som inte kan skrivas, använd numeriska referenser:
- Decimal:
中 <!-- Chinese character "中" --> - Hexadecimal:
中 <!-- Chinese character "中" --> - Exempel:Visas som: I <3 Jörg
<message>I <3 Jörg</message>
Hantera binär data:
XML stödjer inte rå binär data. Använd istället Base64‑kodning.
6. Kommentarer i XML
XML‑kommentarsyntax:
<!-- This is a valid XML comment -->
Regler för XML‑kommentarer:
- Får inte förekomma före XML‑deklarationen.
- Får inte innehålla
--(dubbel bindestreck) i kommentaren. - Entitetsreferenser ignoreras i kommentarer.
Exempel:
<!-- This is a comment with < and & symbols -->
Slutsats
XML är en viktig teknik för strukturerat datautbyte, som driver webbflöden, kontorsdokument, vetenskapliga data och branschstandarder. Att förstå viktig XML‑terminologi, kodningsregler och escapningsmekanismer säkerställer välformade XML‑dokument som fungerar korrekt över olika system.
Genom att följa bästa praxis för teckenkodning och escapning kan utvecklare undvika parsningsfel och säkerställa kompatibilitet i XML‑baserade applikationer.