TestDom读取XML文件解析DOM

/**
 * 
 */
/**
 * @author 89003422
 *
 */
package com;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;


import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;


public class TestDom{
	
	
	@SuppressWarnings("unchecked")
	public String getXmlString() throws Exception{
		String content ="";
		SAXReader reader = new SAXReader();
		Document doc = reader.read("src/conf/xconf.xml");
		Element root = doc.getRootElement();
		List<Element> passlist = root.elements("storkey");
		
		Map<String, String> map = new HashMap<String, String>();
		for (int i=0;i<passlist.size();i++) {
			Element root2 = passlist.get(i);
			Element desc = root2.element("stor");
			content = desc.getText();
			String [] data = content.split("\\|");
			System.out.println(data[0]+" "+data[1]);
			if(data.length==0){
				return content;
			}else{
				map.put(new String(Base64.decode(data[0])), new String(Base64.decode(data[1])));
			}
		}
		System.out.println(map);
		return content;
	}
	public String getPassString() throws Exception{
		
		//返回读取指定资源的输入流  
	    InputStream is= getClass().getResourceAsStream("/conf/xconf.xml");
	    String xmlStr = "";
	    if(is !=null){
	    	String s="";
	    	BufferedReader br=new BufferedReader(new InputStreamReader(is));  
	    while((s=br.readLine())!=null){  
	    	xmlStr+=s;
	    }
	    br.close();
	    }
		
		return xmlStr;
	}
	public static void main(String[] args) throws Exception {
		TestDom res = new TestDom();
		//InputSource xmlStr = res.getResource(); 
		//String xmlStr = res.getResource();
		String xmlStr = res.getPassString();
		System.out.println("xmlStr:"+xmlStr);
		
		Document document = DocumentHelper.parseText(xmlStr);
		
		Element root = document.getRootElement(); //得到根结点,即Response结点
		
		// 拿到根节点的名称 conf
        System.out.println("根节点:" + root.getName()); 


        // 获取根节点下的子节点storkey
        Element InterBOSS=root.element("storkey");//获取子结点
        Iterator<?> iter = InterBOSS.elementIterator("stor"); 
        // 遍历head节点
        Map<String, String> map = new HashMap<String, String>();
        while (iter.hasNext()) {
        	Element recordEle = (Element) iter.next();
            // 拿到storkey节点下的子节点stor值
           // String title = recordEle.elementTextTrim("stor"); 
            String content = recordEle.getTextTrim(); 
            String [] data = content.split("\\|");
            map.put(data[0], data[1]);
            map.put(data[0], data[1]);
        }
        System.out.println("map:" + map);
		
		//Element orderInfoReq=svcCont.element("OrderInfoReq");//获取子子子结点
		//String text = document.asXML();
		//System.out.println(text);
		//Element.asXML方法,获得包括该标签的所有XML数据
		//boolean res_success = Boolean.parseBoolean(rootElement.elementTextTrim("success"));
        // System.out.println(root.element("body").asXML());
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值