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完成这些功能。

准备

<!-- https://mvnrepository.com/artifact/org.jdom/jdom -->
<dependency>
    <groupId>org.jdom</groupId>
    <artifactId>jdom</artifactId>
    <version>1.1.3</version>
</dependency>

XML例子

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<String, String> 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<String, String> getWinNumber(String url, Integer lottery) {
        Map<String, String> 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<Element> 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;
    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • xml经典总结 XML(eXtensible Markup Language)是万维网联盟(World Wide ...
    91数据阅读 1,068评论 0 2
  • 他说 我是个意外 意外地闯入了他的的生活 让他的生活变得绚丽起来 他说 我是个意外 意外到他无法捕捉我的点 让他的...
    Angel筱轩阅读 349评论 2 7

友情链接更多精彩内容