虽然Json格式变的非常通用,一些企业化数据产品还是以XML格式发布给客户,Java有一系列处理XML的工具包,主要有:
1. SaxParser
2. Stax Parser
3. DOM Parser
4. XPath Evaluator
5. XSL Processor
6. JAXB
其中Sax和Stax主要是针对大XML文件进行处理,都是基于事件驱动, 区别在于调用方式不一样:
- SaxParser –> Handler 一直迭代解析到终点
- Handler –> Stax Parser 解析时可以随时停止
Sax优势: Schema的校验,而Stax没有
Stax的优势:
- Subparsing / Delegation possible
- 生成XML
参考:
Java SAX vs. StAX http://tutorials.jenkov.com/java-xml/sax-vs-stax.html
Java StAX: XMLStreamWriter http://tutorials.jenkov.com/java-xml/stax-xmlstreamwriter.html