哪一种是读取XML的有效方法。我知道两种方法:
1(JAXB:通过用JAXB注释注释我的课程,我们使用编组&拆卸对象。
2(dom:可以使用DOM解析器来解析XML并使用XML中的XPATH值。
dom的示例:
File fXmlFile = new File("/Users/link1/input.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
根据业务要求,我希望以最快的方式和上述两个之间的更好方式。建议和很少的策略将不胜感激。
要问的第一个问题:您的XML是否始终具有相同的结构,并且可以在Java对象的层次结构上映射此结构吗?
-
如果是 ->使用jaxb或jackson xmlmapper
-
如果否(XML的结构各不相同( ->您是否需要随机访问XML中的数据,并且可能会写入许多读写(之后您将数据转换回XML(?p> 2.1。如果是 ->使用DOM(它是为XML文档树的内存处理而设计的,但开销更多(
2.2。如果没有(更有效的XML解析( ->您需要在XML中解析所有信息还是需要XML验证?
-
2.2.1如果是 ->使用sax(它包含在JDK中,允许验证(
-
2.2.2如果否 ->使用stax(这是XML拉动解析器,允许在XML中读取某些值而无需解析完整的XML,但不提供验证。(
(
-