Choosing a Parser

Choosing a Parser for a Data Pipeline

XML parser libraries for pipelines
Library Language, licence Models Validation
libxml2 3,427 (lxml 3,063 ) C, MIT Tree, SAX, pull DTD, XSD 1.0, RELAX NG
Expat 1,381 C, MIT Push, incremental None
Xerces-J, JDK Java, Apache-2.0 DOM, SAX, StAX XSD 1.0 (1.1 in Xerces-J)
Xerces-C++ C++, Apache-2.0 DOM, SAX XSD 1.0
VTD-XML 7,086 Java, C, GPL-2.0 Token index None
System.Xml .NET, MIT Tree, pull XSD 1.0

Use the library native to your pipeline (lxml in Python, the JDK on Spark 129 ), streaming for anything that grows.