基本信息
源码名称:java读写xml文件 示例源码(Dom4j)
源码大小:0.02M
文件格式:.zip
开发语言:Java
更新时间:2018-06-21
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

import org.apache.commons.lang3.StringUtils;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/**
 * 测试类: 测试dom4j相关api功能
 *
 * @author chenx
 * @date 2017/12/5
 */
@RunWith(JUnit4.class)
public class Dom4jTest {
    private Document document;

    @Before
    public void init() throws DocumentException {
        SAXReader saxReader = new SAXReader();
        document = saxReader.read(getClass().getResourceAsStream("Gps_Stops.xml"));
    }

    @Test
    public void testIterator() {
        Element root = document.getRootElement();
        for (Iterator<Element> iterator = root.elementIterator(); iterator.hasNext();) {
            Element element = iterator.next();
            if (element.isTextOnly()) {
                System.out.println(element.getQualifiedName()   ":"   element.getTextTrim());
            }
        }
    }

    @Test
    public void testXpath() {
        List<Node> nodes = document.selectNodes("//G_CONSIDERED_DATE");
        for (Node node : nodes) {
            Element element = (Element) node;
            Element curDate = element.element("CONSIDERED_DATE");
            System.out.println(curDate.getQualifiedName()   ":"   curDate.getTextTrim());
        }
    }

    @Test
    public void testIteratorAttr() {
        Map<String, String> namespaceMap = new HashMap<String, String>();
        namespaceMap.put("ns", "GpsStopsByGroupReport");
        XPath xPath = document.createXPath("//ns:table1_GroupName/ns:table1_UserNum_Collection/ns:table1_UserNum");
        xPath.setNamespaceURIs(namespaceMap);
        List<Node> nodes = xPath.selectNodes(document);
        for(int i=0;i<nodes.size();i  ){
            Node node=nodes.get(i);
            System.out.println(node.valueOf("@UserName"));

//            XPath otherXPath = DocumentHelper.createXPath("//ns:table1_GroupName/ns:table1_UserNum_Collection/ns:table1_UserNum");
//            otherXPath.setNamespaceURIs(namespaceMap);
//            List<Node> carsInfos = otherXPath.selectNodes(node);
//            carsInfos.forEach(carsInfo -> {
//                String interval = StringUtils.normalizeSpace(carsInfo.valueOf("@UserName"));
//                System.out.println(interval);
//            });

        }
    }

    @Test
    public void testIteratorByElement() {
        Element root = document.getRootElement();

        Iterator<Element> hotelInfos = root.elements().get(1).elements().get(0).elements().get(0).elements().get(0).elements().iterator();
        while (hotelInfos.hasNext()) {
            Element hotelInfo = hotelInfos.next();
            System.out.println(hotelInfo.attributeValue("Group"));

            Iterator<Element> carInfos = hotelInfo.elements().get(0).elements().iterator();
            while (carInfos.hasNext()) {
                Element carInfo = carInfos.next();
                System.out.println(carInfo.attributeValue("UserName"));
            }
        }
    }
}