基礎方法(指不需要導入jar包,java自身提供的解析方式):DOM、SAX
DOM:是一種平台無關的官方解析方式
--優點:
(1)形成了樹結構,直觀好理解,代碼更易編寫
(2)解析過程中樹結構保留在內存中,方便修改
--缺點:
當xml文件較大時,對內存耗費比較大,容易影響解析性能並造成內存溢出
SAX:基於事件驅動的解析方式
--優點:
(1)采用事件驅動模式,對內存耗費比較小
(2)適用於只需要處理xml中數據
--缺點:
(1)不易編碼
(2)很難同時訪問同一個xml中的多處不同數據
擴展方法(在基礎方法上擴展出的,只有java中能夠使用的解析方法):JDOM、DOM4J
JDOM:
僅使用具體類而不使用接口
API大量使用了Collections類
DOM4J:
是JDOM的一種智能分支,它合並了許多超出基本xml文檔表示的功能
使用接口和抽象基本類方法,是一個優秀的java xml API
具有性能優異、靈活性好、功能強大和極端易用的特點
是一個開放源代碼的軟件
性能測試:(少量數據時)
總結:具體使用哪種解析方式視具體情況而定,對於復雜文件,推薦使用DOM4J。