Tag: nodelist

加速xpath

我有一个1000条目文档的格式是这样的 这里有超过1000个Entry节点。 我正在编写一个Java程序,它基本上逐个获取所有节点并对每个节点进行一些分析。 但问题是节点的检索时间随着它的增加而增加。 例如,检索第一个节点100毫秒以检索第二个节点需要78毫秒,并且它继续增加。 要检索999节点,它需要超过5秒。 这非常慢。 我们将此代码插入到包含超过1000个条目的XML文件中。 有些像数百万。 解析整个文档的总时间超过5分钟。 我正在使用这个简单的代码来遍历它。 这里nxp是我自己的类,它有从xpath获取节点的所有方法。 nxp.fromXpathToNode(“/Example/Entry” + “[” + i + “]”, doc); 和doc是该文件的文档。 i是要检索的节点。 当我尝试这样的事情时 List nl = nxp.fromXpathToNodes(“/Example/Entry”,doc); content = nl.get(i); 我面临同样的问题。 任何人都有任何关于如何加速节点tretirival的解决方案,因此从XML文件获取第一个节点和1000个节点需要相同的时间。 谢谢 这是xpathtonode的代码。 public Node fromXpathToNode(String expression, Node context) { try { return (Node)this.getCachedExpression(expression).evaluate(context, XPathConstants.NODE); } catch (Exception cause) { throw new RuntimeException(cause); } […]

将新XML节点保存到文件

我正在尝试将包含XML nodeList节点保存为新文件,这里是获取新XML文档并拆分为较小XML的节点列表: public void split(Document inDocument) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); SaveXML savePerJob = new SaveXML(); // Load the input XML document, parse it and return an instance of the // Document class. Document document = inDocument; //all elements //jobs NodeList nodes = document.getDocumentElement().getChildNodes(); NodeList jobs = […]

使用nodeList创建XML文档

我需要使用NodeList创建一个XML Document对象。 有人可以帮我做这件事。 我已经向您展示了下面的代码和xml import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.*; import org.w3c.dom.*; public class ReadFile { public static void main(String[] args) { String exp = “/configs/markets”; String path = “testConfig.xml”; try { Document xmlDocument = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(path); XPath xPath = XPathFactory.newInstance().newXPath(); XPathExpression xPathExpression = xPath.compile(exp); NodeList nodes = (NodeList) xPathExpression.evaluate(xmlDocument, XPathConstants.NODESET); } catch (Exception ex) { ex.printStackTrace(); } […]