解析xml(Spring 方法)

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>

 

posted on 2017-01-20 00:36  zhuanagyan  阅读(1824)  评论(0编辑  收藏  举报

导航