XML使用总结(二)

2 篇文章 0 订阅

前言:除了上一节介绍的Java对象与XML之间的互相转换之外,还使用DOM、SAX等XML API解析XML Schema文件中的内容。

一、首先先了解一下什么是XML
  1. XML(Extensible Markup Language):可扩展标记语言,是一种标记语言,类似 HTML。
  2. 诞生历史:1998年2月10日,W3C(World WideⅥiebConsortium,万维网联盟)公布XML 1.0标准。
  3. 作用:
    ① 作为数据交换的一种标准格式(传输数据
    ② 作为配置文件(存储数据
  4. 语法:
    ① XML标签必须有关闭标签,否则是非法的。
    ② XML标签名对大小写敏感。
    ③ XML必须正确嵌套。
    ④ XML必须要有根元素。
    ⑤ XML标签内的属性值需加引号。
    ⑥ XML会保留空格。
  5. 读取XML的方式
    SAX:根据开发需要,一次性将若干个满足条件的XML标签加载到内存中。
    DOM:一次性将XML里所有的内容加载到内存中。
    注意:开发过程中一般采用DOM读取方式。
  6. 约束文档:编写文档约束XML文档的格式规范。
作用
设置可以在当前XML中声明的标签类名。
设置可以在标签中出现的属性名。
设置标签之间父子关系以及兄弟的关系。
分类
DTD:简单约束文档。
SCHEMA:高级约束文档。
详细资料请查阅(仅需了解即可)
XML约束——DTD约束
XML中的Schema约束
二、DOM4J解析XML

Java中有DOMSAX这两种API来解析XML,但在开发过程中更多的还是用第三方的开发插件来实现解析XML的过程,而目前使用比较多的是DOM4J,这一节就让我们来了解一下DOM4J

  1. 导入依赖
    <dependency>
       <groupId>org.dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>2.1.3</version>
    </dependency>
    
  2. 解析XML字符串
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    
    public class Test {
    
        @org.junit.Test
        public void test() throws DocumentException {
            String xmlStr = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><Student><Name>mingo</Name><Sex>男</Sex><NickName>luffy</NickName><IsSuccess>true</IsSuccess><BirthDay>1991-12-01 00:00:00</BirthDay></Student>";
            Document document = DocumentHelper.parseText(xmlStr);
            Element root = document.getRootElement();
            System.out.println(root.getName());
            System.out.println(root.element("Name").getText());
            System.out.println(root.element("Sex").getText());
        }
    }
    
    
  3. 运行结果截图
    在这里插入图片描述
    其他方式解析XML请查阅:Java 解析XML数据的4种方式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值