Here you can find the source of extractNodes(Node node, String path)
Parameter | Description |
---|---|
node | Node to apply path to |
path | Path to apply |
static public List<Node> extractNodes(Node node, String path)
//package com.java2s; //License from project: Apache License import java.util.ArrayList; import java.util.List; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { /**//from w w w . j av a 2 s .c o m * Returns all nodes at the bottom of path from node. * If element begins with '@', indicates an attribute, eg "@id" * The '#text' element indicates that the node has a single text child. * @param node Node to apply path to * @param path Path to apply * @return All Nodes at bottom of path. List may be empty, but not null. */ static public List<Node> extractNodes(Node node, String path) { if (node == null) return new ArrayList<Node>(); List<Node> result = new ArrayList<Node>(); NodeList list = node.getChildNodes(); if (path.equals("#text")) result.add(node.getFirstChild()); else if (path.charAt(0) == '@') result.add(node.getAttributes().getNamedItem(path.substring(1))); else for (int j = 0; j < list.getLength(); j++) if (list.item(j).getNodeType() == Node.ELEMENT_NODE && list.item(j).getNodeName().equals(path)) result.add(list.item(j)); return result; } }