热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

XML_Dom4j_工厂模式_commonsio工具包_Base64

这里写目录标题XMLExtensibleMarkupLanguageXML的约束DTDSchemaSchema约束上一级目录回退用..Dom4j解析XMLXPath直接定位属性或标




这里写目录标题


    • XML Extensible Markup Language
      • XML的约束 DTD Schema
      • Schema约束
      • 上一级目录回退 用..

    • Dom4j 解析XML
      • XPath 直接定位属性或标签(解决子标签太深的问题)导入相关类库
      • Base64 64个字符来组成
      • new String(byte[])

    • 工厂模式(车工厂) 批量生产产品 批量生产对象 使用接口 是为了返回各种车的实现类 调用工厂类的方法来生产车,不需要自己new。生产车后可以重写接口的方法,使用车的功能

在这里插入图片描述


XML Extensible Markup Language

可扩展性的标记语言
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编码存储为utf-8
在这里插入图片描述

在这里插入图片描述
既为开始又为结束
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
只允许有一个根标签
注释 在里面 ctrl+/
在这里插入图片描述
&less than
quotation 双引号
amd 与

在这里插入图片描述
character data 字符数字区
在这里插入图片描述
下面展示一些 内联代码片

// An highlighted block



柳岩
18


年龄 <> " &
年龄 <<<<<<<<<18 .>>>>
]]>



赵丽颖
15





XML的约束 DTD Schema

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
PCDATA 只能是文本,不能是标签
在这里插入图片描述
在这里插入图片描述
下面展示一些 内联代码片

// An highlighted block books.xml




Java入门到超神

88.88
左神







下面展示一些 内联代码片

// An highlighted block bookshelf.dtd






Schema约束

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面展示一些 内联代码片

// An highlighted block books.xml

<书架
xmlns="http://www.itcast.cn/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.itcast.cn/ bookshelf.xsd">
<书>
<书名>
<作者>
<售价>




下面展示一些 内联代码片

// An highlighted block bookshelf.xsd

targetNamespace="http://www.itcast.cn/"
elementFormDefault="qualified">
















在这里插入图片描述


上一级目录回退 用…

在这里插入图片描述


Dom4j 解析XML

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
下面展示一些 内联代码片

// An highlighted block
package day15XMLDom4jFactoryModelcommons_ioBase64.XML解析;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import javax.xml.parsers.SAXParser;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.List;
public class Demo1 {
public static void main(String[] args) throws FileNotFoundException, DocumentException {
SAXReader reader = new SAXReader(); //加强基本输入流,可以解析xml文件
Document document = reader.read(new FileInputStream("src\\bean\\Contact.xml"));
System.out.println("document = " + document);
Element rootElement = document.getRootElement();//获得根标签
System.out.println("rootElement = " + rootElement);
//获得根标签的名字
System.out.println("根标签的名字:"+rootElement.getName());
//获得第一个指定名称的子标签
Element firstCOntactEle= rootElement.element("contact");
System.out.println("firstCOntactEle= " + firstContactEle);
//获得id属性值
String id = firstContactEle.attributeValue("id");
System.out.println("id = " + id);
String vip = firstContactEle.attributeValue("vip");
System.out.println("vip = " + vip);
//获得所有当前名称的子标签
List elements = firstContactEle.elements();
//遍历集合获取每个元素
for (Element element : elements) {
String name = element.getName();
String text = element.getText();
System.out.println(name+"->"+text);
}
}
}

下面展示一些 内联代码片

// An highlighted block Contact放到src下面



潘金莲

panpan@itcast.cn


武松

wusong@itcast.cn


武大狼

wuda@itcast.cn


在这里插入图片描述
下面展示一些 内联代码片

// An highlighted block Demo.java
package day15XMLDom4jFactoryModelcommons_ioBase64.XML解析.XML解析2;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
public class Demo {
public static void main(String[] args) throws Exception {
//定义联系人类
//创建解析器
SAXReader reader = new SAXReader();
//解析XML
Document document = reader.read(new FileInputStream("itheima\\src\\Contact.xml"));
//得到根标签
Element rootElement = document.getRootElement();
//获得所有contact子标签
List cOntacts= rootElement.elements("contact");
//创建集合保存所有的联系人对象 {id,vip,name,gender,email}
ArrayList list = new ArrayList<>();
//遍历获取每个contact标签,一个contact标签对应一个人
for (Element contact : contacts) {
String idStr = contact.attributeValue("id");
int id = Integer.parseInt(idStr);
String vipStr = contact.attributeValue("vip");
boolean vip = Boolean.parseBoolean(vipStr);
//直接获取子标签内容
// System.out.println(contact.getName()+contact.getText());
String name = contact.elementText("name");
String gender = contact.elementText("gender");
String email = contact.elementText("email");
//根据数据创建Contact联系人对象
Contact c = new Contact(id, vip, name, gender, email);
list.add(c);
}
//遍历集合
for (Contact contact : list) {
System.out.println(contact);
}
}
}

下面展示一些 内联代码片

// An highlighted block
package day15XMLDom4jFactoryModelcommons_ioBase64.XML解析.XML解析2;
public class Contact {
private int id;
private boolean vip;
private String name;
private String gender;
private String email;
public Contact() {
}
public Contact(int id, boolean vip, String name, String gender, String email) {
this.id = id;
this.vip = vip;
this.name = name;
this.gender = gender;
this.email = email;
}
/**
* 获取
* @return id
*/
public int getId() {
return id;
}
/**
* 设置
* @param id
*/
public void setId(int id) {
this.id = id;
}
/**
* 获取
* @return vip
*/
public boolean isVip() {
return vip;
}
/**
* 设置
* @param vip
*/
public void setVip(boolean vip) {
this.vip = vip;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return gender
*/
public String getGender() {
return gender;
}
/**
* 设置
* @param gender
*/
public void setGender(String gender) {
this.gender = gender;
}
/**
* 获取
* @return email
*/
public String getEmail() {
return email;
}
/**
* 设置
* @param email
*/
public void setEmail(String email) {
this.email = email;
}
public String toString() {
return "Contact{id = " + id + ", vip = " + vip + ", name = " + name + ", gender = " + gender + ", email = " + email + "}";
}
}

下面展示一些 内联代码片

// An highlighted block



潘金莲

panpan@itcast.cn


武松

wusong@itcast.cn


武大狼

wuda@itcast.cn



XPath 直接定位属性或标签(解决子标签太深的问题)导入相关类库

在这里插入图片描述
在这里插入图片描述
调用对象就是. 相对路径
在这里插入图片描述
在这里插入图片描述
找属性,找元素。


Base64 64个字符来组成

苍老师
在这里插入图片描述
在这里插入图片描述
编码解码
方便在网络上传输。
苍老师文字根据这个变成数字 编码
类似字符集编码
在这里插入图片描述
在这里插入图片描述


new String(byte[])


工厂模式(车工厂) 批量生产产品 批量生产对象 使用接口 是为了返回各种车的实现类 调用工厂类的方法来生产车,不需要自己new。生产车后可以重写接口的方法,使用车的功能

在这里插入图片描述
在这里插入图片描述
//使用对象和创建对象是分开的,耦合性低
//拿来用就可以,有点像工具类
在这里插入图片描述
在这里插入图片描述
返回值是共同的接口。
在这里插入图片描述
在这里插入图片描述
这是多态的使用,不是让别人帮你创建对象



推荐阅读
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • 本文整理了Java中java.lang.NoSuchMethodError.getMessage()方法的一些代码示例,展示了NoSuchMethodErr ... [详细]
  • Python中的PyInputPlus模块原文:https ... [详细]
  • 还记得这首是什么歌吗?
    作词:MahmoudJaff,作曲:MahmoudJaff,Timeisthecurrencyofyourlife,spenditwiselyÿ ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
author-avatar
小池子的思密达
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有