là gì cách nhanh nhất để truy vấn một file XML rất lớn trong java,Cách nhanh nhất để truy vấn xml trong java
DOM - xpath: đây đang tiến hành rất nhiều thời gian,
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
docBuilderFactory.setNamespaceAware(true);
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document document = docBuilder.parse(new File("test.xml"));
XPath xpath = XPathFactory.newInstance().newXPath();
String xPath = "/*/*[@id='ABCD']/*/*";
XPathExpression expr = xpath.compile(xPath);
//this line takes lot of time
NodeList result = (NodeList)expr.evaluate(document, XPathConstants.NODESET);
với dòng cuối cùng trong mã, chương trình kết thúc sau 40 giây và không có trong 1 giây.
SAX: Tôi không biết nếu điều này có thể được sử dụng cho truy vấn, trên internet tôi chỉ có thể tìm thấy các ví dụ về phân tích cú pháp.
Các tùy chọn khác để thực hiện truy vấn nhanh hơn, kích thước tệp xml của tôi là khoảng 5MB. Thnx
Bạn đã thử StAX hoặc JAXB chưa? – davek
Nhanh nhất (như đã được chứng minh lặp lại) là vtd-xml (http://vtd-xml.sf.net) –