这是从XML:JAXB或DOM获取值的最佳方法



哪一种是读取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对象的层次结构上映射此结构吗?

  1. 如果是 ->使用jaxb或jackson xmlmapper

  2. 如果否(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,但不提供验证。(

      (

最新更新