最通俗易懂的java(Dom4j xml解析)

1.xml:是一种可扩展的标记语言,它也是由标签组成,不同的是它的标签名可以自定义.
后缀名:.xml.

2.xml作用:用来传输和存储数据。用来作为配置文件;用来跨平台进行数据交换格式.用来作为持久文件存数据.
注意:xml和html都是标记语言,由标签组成.html专门作为前端页面展示,xml用来 作后台数据传输和存储.

3.xml的组成(了解)
3.1:xml标签规范:
3.1.1:XML标签区分大小写.
3.1.2:XML标签一定要关闭.
单标签:<标签名 属性名=“属性值”/>
双标签:<标签名 属性名1=“属性值1” 属性名2=“属性值2”></标签名>
3.1.3:XML文档必须有根元素(根标签)
3.1.4:XML标签要正确嵌套.eg:<标签名1><标签名2></标签名2></标签名1>
3.1.5:XML标签名可以自定义,但是要像正常人取名就可以.
3.1.6:XML标签中换行和空格都会当作标签内容

3.2:文档声明:xml文件的版本,规定文件的字符编码等页面属性。
	<? xml version="1.0" encoding="utf-8" ?>必须写在xml文件的第一句。

3.3:属性:每个标签名的括号中可以有0到多个属性。xml标签的属性值一定要用引号。
		  在同一个标签中,属性不可以重名。
			<标签名 属性1="值1" 属性2="值2" ></标签名>

3.4:注释:<!--注释内容 -->。注释不能嵌套。

3.5:实体引用:一些字符拥有特殊的意义.
	   

		<![CDATA[特殊字符]]>

3.6:处理指令:用来指挥软件如何解析XML文档。语法:<?  ?>
	eg:<?xml version="1.0" encoding="utf-8" ?>

3.7:xml约束:规范文件的内容。xml约束的类型:xml Schema ,xml DTD
  //1.创建demo4j的读取对象(假如忘记了这个解析器的名字叫什么,我们可以找包找到这个名字,
    // 因为我们是要这个解析器对象去读取硬盘上的xml文件他是一个流,所以通过dom4j.io包路径可以猜到SAXReader是我们要的解析器)
   SAXReader reader =new SAXReader();
   //2.用读取对象将硬盘上的xml文件读取到内存中,用文档对象接收
   
 eg:代码举例  
    Document studocument =reader.read("Day40\\src\\Students.xml");
    //声明一个对象集合用来存解析出来的学生信息
    List<Student> stulist =new ArrayList();
    //3.解析xml文件
    //获得xml根节点对象students
    Element root =studocument.getRootElement();
    //获得根节点下面的所有字节点-student
    List<Element> childs=root.elements();
    //遍历所有子节点
    for(Element child:childs) {
         //创建一个学生对象,用属性来存解析出来的数据
        Student stu1=new Student();
        //获得节点id属性值,并将值存在学生对象中(因为操作的标签调用attribute获得属性id还要获得他的文本属性
        // xml文件默认存的数据都是String类型和HTML一样所以转成Integer类型)
        stu1.setId(Integer.valueOf(child.attribute("id").getText()));
        //获得当前子节点的属性值
        stu1.setName(child.element("name").getText());
        stu1.setSex(child.elementText("sex"));
        stu1.setAge(Integer.valueOf(child.elementText("age")));


        //解析完一个字节点将信息存在集合中
        stulist.add(stu1);
    }
    //输出解析结果
    for(Student stu:stulist) {
        System.out.println(stu);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java面经是指在面试过程中常被问到的与Java相关的问题和知识点。下面是一些常见的Java面经问题及其解答: 1. Java的特点是什么? Java是一种面向对象的编程语言,具有跨平台性、简单性、可靠性、安全性和高性能等特点。 2. 什么是Java虚拟机(JVM)? JVM是Java程序运行的环境,它负责将Java源代码编译成字节码,并在不同的操作系统上执行。 3. 什么是面向对象编程(OOP)? 面向对象编程是一种编程范式,它将数据和操作数据的方法封装在一起,通过创建对象来实现程序的功能。 4. Java中的四种访问修饰符分别是什么? Java中的四种访问修饰符分别是public、protected、default和private,用于控制类、方法和变量的访问权限。 5. 什么是Java中的异常处理机制? 异常处理机制是Java中用于处理程序运行过程中出现的异常情况的一种机制,通过try-catch-finally语句块来捕获和处理异常。 6. 什么是Java中的多线程? 多线程是指在一个程序中同时执行多个线程,每个线程都可以独立执行不同的任务,提高程序的并发性和效率。 7. 什么是Java中的集合框架? 集合框架是Java中用于存储和操作一组对象的类库,包括List、Set、Map等常用的数据结构和算法。 8. 什么是Java中的反射机制? 反射机制是指在运行时动态地获取和操作类的信息,可以通过反射来创建对象、调用方法和访问属性等。 9. 什么是Java中的IO流? IO流是Java中用于输入和输出数据的一种机制,包括字节流和字符流,用于读取和写入文件、网络等数据源。 10. 什么是Java中的设计模式? 设计模式是一种解决常见软件设计问题的经验总结,包括单例模式、工厂模式、观察者模式等常用的设计模式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值