public class TestMain { public static void main(String[] args) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); InputStream inputStream = TestMain.class.getClassLoader().getResourceAsStream("mybatis-config.xml"); Document doc = builder.parse(inputStream); XPath xPath = XPathFactory.newInstance().newXPath(); String expression ="/configuration"; Node node = (Node) xPath.evaluate(expression,doc, XPathConstants.NODE); printNode(node); //System.out.println(node.getNodeName()+":"+node.getNodeValue()+":"+node.getChildNodes().getLength()); } public static void printNode(Node root){ System.out.println("NodeName:"+root.getNodeName()+" NodeValue:"+root.getNodeValue()); NamedNodeMap attributes = root.getAttributes(); if(attributes!=null){ for(int i=0;i<attributes.getLength();i++){ Node item = attributes.item(i); System.out.println("attributeName:"+item.getNodeName()+" attributeValue:"+item.getNodeValue()); } } NodeList childNodes = root.getChildNodes(); if(childNodes!=null){ for(int i=0;i<childNodes.getLength();i++){ Node child = childNodes.item(i); if(child.getNodeName().equals("#text")) continue; printNode(child); } } } }
使用Xpath递归输出所有数据
最新推荐文章于 2024-07-29 17:16:58 发布