xml解析方式:有很多种,主要有两种 dom sax
针对以上两种解析方式,给出的解决方案:jaxp jdom dom4j(使用广泛)
dom4j用法
try { //1.创建sax读取对象 SAXReader reader = new SAXReader(); //2.指定解析的xml源 Document d = reader.read(new File("src/xml/stus.xml")); //3.得到元素 //得到根元素 Element root = d.getRootElement(); //获取根元素下面的所有子元素 Listelements = root.elements(); for(Element ele:elements){ String name = ele.element("name").getText(); String age = ele.element("age").getText(); } } catch (DocumentException e) { e.printStackTrace(); }
dom4j的xpath用法
try { //1.创建sax读取对象 SAXReader reader = new SAXReader(); //2.指定解析的xml源 Document d = reader.read(new File("src/xml/stus.xml")); //3.得到元素 //得到根元素 Element root = d.getRootElement(); //使用xpath Element e = (Element) root.selectSingleNode("//name"); String name = e.getText(); //获取文档里面所有name元素 Listlist = root.selectNodes("//name"); for (Element element : list) { String name1 = element.getText(); } } catch (DocumentException e) { e.printStackTrace(); }
xml约束
DTD
Schema