JDOM 操作 XML

XML简介

可扩展标记语言——eXtensible Markup Language

用户可以自己定义语言标记,只要有开始和闭合标签即可。

xsl装饰、修饰xml的显示结果。

dtd约束xml文件中的标记。

XML的优点:

1、xml可以让数据和标记分离。

2、异质信息互通

3、机器语言

4、用交流语言替代html装饰语言

5、简单易用

6、可以自定义、可扩展  

XML和HTML比较

比较内容HTMLXML

可扩展性不具有扩展性、标记固定是元标记语言,可以定义新标记,用户可以自定义标记

侧重点侧重于信息的表现形式为什么格式被关注侧重于结构化的描述信息,数据是什么为XML所关注

语法不严格(嵌套、配对)严格嵌套、配对,并按照DTD要求输出

可读性、可维护性难于阅读和维护结构清晰,便于阅读维护

数据本身、显示数据和显示合为一处数据与显示分离

重用性低可重用性高

JDOM操作XML

JDOM可以很方便的操作XML文档,完成XML内容的创建、修改,已经遍历Document文档中的XML元素,完成查询等。下面我们就用JDOM完成这些功能。

准备



    org.jdom
    jdom
    1.1.3


XML例子

JDOM 操作 XML_第1张图片
Snipaste_2018-04-26_14-57-35.png

Demo

 import com.jdd.basedata.commons.util.WinNumStringUtil;
import org.apache.commons.collections.CollectionUtils;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class Cp500Util {



    public static void main(String[] args) {

   
     Map Kuai10winNumber = getWinNumber("http://kaijiang.500.com/static/info/kaijiang/xml/hbsyxw/{yyyyMMdd}.xml", 78);

        for (String o : Kuai10winNumber.keySet()) {
            System.out.println(o + "---------->" + Kuai10winNumber.get(o) + "---");
        }
    }


    
    private static Map getWinNumber(String url, Integer lottery) {
        Map map = new HashMap<>();
        String format = new SimpleDateFormat("yyyyMMdd").format(new Date());
        SAXBuilder builder = new SAXBuilder();
        url = url.replace("{yyyyMMdd}", format);
        try {
            Document document = builder.build(url);
            //获取根目录
            Element root = document.getRootElement();
            List row = root.getChildren("row");
            if (CollectionUtils.isNotEmpty(row)) {
                for (Element o : row) {
              String[] cs = o.getAttributeValue("opencode").split(",");
              
       map.put(o.getAttributeValue("expect").replace("-", "").trim(), WinNumStringUtil.sortStrings(o.getAttributeValue("opencode").toString()));
                   
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return map;
    }

}

你可能感兴趣的:(JDOM 操作 XML)