package com.thinkgem.jeesite.test; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.core.io.FileSystemResource; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.w3c.dom.Element; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import java.io.IOException; import java.io.InputStream; /** * Created by Administrator on 2017/1/19 0019. */ public class springXmlTest { public static void main(String[] args) throws IOException, ParserConfigurationException, SAXException { //a 读取文件 FileSystemResource a = new FileSystemResource("d:\\test.xml"); a.getFile(); //b. 转换成流 InputStream test = a.getInputStream(); System.out.println(a ); System.out.println(test ); //c. inputSource InputSource inputSource = new InputSource(test); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder db = factory.newDocumentBuilder(); Document document = db.parse(inputSource); Element root = document.getDocumentElement(); NodeList nodeList = root.getChildNodes(); for(int i=0;i<nodeList.getLength();i++){ Node node = nodeList.item(i); if(node.getNodeType()==Node.ELEMENT_NODE) { //取得节点的属性值 String id=node.getAttributes().getNamedItem("id").getNodeValue(); System.out.println("id:" + id); String value =node.getFirstChild().getNodeValue(); System.out.println(value); } } } }
spring解析xml的源码概览。
xml样列
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="test"> <update id="delete"> UPDATE company_info SET del_flag = #{DEL_FLAG_DELETE} WHERE id = #{id} </update> <update id="deleteTest"> UPDATE company_info SET del_flag = #{DEL_FLAG_DELETE} WHERE id = #{id} </update> <update id="deleteTest2"> UPDATE company_info SET del_flag = #{DEL_FLAG_DELETE} WHERE id = #{id} </update> </mapper>
原文:http://www.cnblogs.com/zhuangyan728/p/6314936.html