What is XML? Complete Guide with Examples
XML (Extensible Markup Language) is a markup language that defines rules for encoding documents in a format readable by both humans and machines. XML uses hierarchical tags (<element>) with attributes and nested content to represent structured data. While JSON has largely replaced XML for web APIs and configuration, XML remains dominant in enterprise systems (SOAP, XSLT), document formats (HTML, SVG, RSS), and industries with established XML-based standards (healthcare HL7, finance FIX).
Use our free XML to JSON to experiment with xml (extensible markup language).
How Does XML (Extensible Markup Language) Work?
XML documents contain elements enclosed in tags (<name>value</name>), with support for attributes (<element attr='val'>), namespaces (xmlns), and nesting to any depth. A well-formed XML document has a single root element, properly nested tags, and quoted attribute values. XML parsers (DOM, SAX, StAX) read documents and provide programmatic access to the content. XSD (XML Schema Definition) validates document structure, and XSLT transforms XML between formats.
Key Features
- Self-describing hierarchical structure with opening and closing tags
- Namespace support for combining elements from different schemas without conflicts
- Schema validation (XSD, DTD, RELAX NG) for strict document structure enforcement
- XSLT transformation for converting XML to HTML, other XML formats, or plain text
- Widespread tooling: parsers, validators, editors, and transformation engines in every language
Common Use Cases
Enterprise Integration (SOAP)
SOAP web services use XML for request/response payloads with strict schema validation. Many legacy enterprise systems and financial APIs still use SOAP/XML exclusively.
Document Formats
HTML, SVG, RSS/Atom feeds, EPUB, and Office Open XML (docx, xlsx) are all XML-based formats. Understanding XML is essential for working with these document types.
Configuration Files
Java applications (Maven pom.xml, Spring beans.xml), Android (AndroidManifest.xml), and .NET (app.config) use XML for configuration where schema validation ensures correctness.