Java SE 6新特性: XML API与Web服务 - 编程入门网
setTextContent("Mr. Wang");
root.appendChild(appellation);
document.appendChild(root);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer;
transformer = tFactory.newTransformer();
SAXResult result = new SAXResult();
ContentHandler cHandler = new ContentHandler();
result.setHandler(cHandler);
transformer.transform(new DOMSource(document), result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java SE 6新特性: XML API与Web服务(7)时间:2011-02-15 IBM 沈羽Java SE 6 SDK 提供了至少以上三种内置的处理 XML 文件的机制。它们分别是 Simple API for XML、Document Object Model 和 Streaming API for XML。其中 SAX 和 StAX 采用了相似的模型 —— 将 XML 文件建模为元素流,DOM 采用了树形模型。带来的结果是 SAX 和 StAX 运行时空间相对 DOM 紧凑。状态保持能力则依次 SAX -> StAX -> DOM 变强。特别值得一提的是 StAX 技术是最新引进的 XML 处理技术,它结合了 SAX 和 DOM 的优点。清单 8 给出了一个粗略度量 SAX、StAX、DOM 三个框架解析同一个 XML 文件的运行效率的代码。 清单 8. 度量 XML 解析框架的运行时间 public class StAXTest { public static void main(String[] args) { final String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<work-contact-info>" + "<Location>Shanghai-shuion-333</Location>" + "<Postal>200020</Postal>" + "<Tel><fix>63262299</fix>" + "<mobile>1581344454</mobile></Tel>" + "<Appellation>Mr. Wang</Appellation>" + "</work-contact-info>"; for (int i = 0; i < 10000; i++) { StAX(xml); } for (int i = 0; i < 10000; i++) { SAX(xml); } for (int i = 0; i < 10000; i++) { DOM(xml); } long current = System.currentTimeMillis(); for (int i = 0; i < 10000; i++) { StAX(xml); } current = System.currentTimeMillis() - current; System.out.println(current); current = System.currentTimeMillis(); for (int i = 0; i < 10000; i++) { SAX(xml); } current = System.currentTimeMillis() - current; System.out.println(current); current = System.currentTimeMillis(); for (int i = 0; i < 10000; i++) { DOM(xml); } current = System.currentTimeMillis() - current; System.out.println(current); } private static void StAX(final String xml) { XMLInputFactory inputFactory = XMLInputFactory.newInstance(); InputStream input; try { input = new ByteArrayInputStream(xml.getBytes()); XMLEventReader xmlEventReader = inputFactory .createXMLEventReader(input); while |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |