我应该使用哪个API来解析存储在字符串缓冲区中的URL的XML响应?
答案 0 :(得分:3)
使用JAXB:
// Given StringBuffer sb from your URL
String contextPath = "path/to/generated/jaxb/package";
JAXBContext jc = JAXBContext.newInstance(contextPath);
Unmarshaller unmarshaller = jc.createUnmarshaller();
Object o = u.unmarshal(new StreamSource( new StringReader(sb.toString())));
答案 1 :(得分:2)
这取决于您希望如何处理XML。
如果它是一个大文档,你只想从头到尾执行一次解析,那么使用SAX API。此方法将使用更少的内存并具有更高的处理吞吐量。
如果您想操纵XML树,并在树上上下遍历节点,那么使用DOM API。此方法需要整个XML DOM在内存中,但允许您操作DOM并对其执行XPath类型查询。
我相信SAXON可以同时处理这两种情况。