前言
继续记录javaweb学过的东西
1.什么是xml
XML:eXtensible Markup Language,可扩展标记性语言
和html一样,xml也是使用标签
标记性语言:html就是标记性语言
可扩展:html中每个标签是固定的,每个标签都有其特定的含义
但是xml中的标签是可以自己定义的
2.xml用途和介绍
html是用于显示数据,xml也可以显示数据(但这不是xml的主要功能)
xml的主要功能是存储数据,传输数据
xml是W3C组织发布的技术
xml有两个版本:1.0,1.1,一般使用1.0版本,因为1.1版本不能向下兼容
3.xml的应用
(1)不同的系统之间传输数据
比如qq之间数据的传输
(2)用来表示生活中有关系的数据
一些树形数据或者有包含关系的数据都可以用xml的标签来表示
(3)应常用在配置文件中
比如连接数据库,需要知道数据库的用户名和密码,数据名称,xml作为配置文件很方便
1.xml文档声明
创建一个文件,后缀名为.xml
要写xml,第一步必须要有一个文档声明(写了文档声明之后,表示写xml文件的内容)
文档声明必须写在xml文件的第一行第一列!
xml中文乱码问题,保存时候的编发和设置打开时候的编码一致即可
2.xml定义元素(标签)
元素(标签)定义,下文统称标签:
(1)标签的定义有开始必须有结束
(2)如果标签没有包含标签的内容,则可以在标签内结束
(3)标签可以有嵌套,但是必须要合理嵌套,不能交叉嵌套
(4)一个xml必须有且仅有一个根标签,其他的标签必须是这个标签下面的子标签等
(5)xml中的空格和换行都会被当作内容解析
标签的命名规则:
(1)xml是区分大小写的
(2)标签名称不能以数字或下划线开头
(3)不能以xml,XML,Xml开头
(4)xml的标签不能包含空格和冒号
(5)xml标签可以是中文
【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。加群:731771211。免费赠送web前端系统的学习资料!!前端学习必备公众号ID:mtbcxx】
3.xml属性的定义
属性定义的要求:
(1)一个标签上可以有多个属性
(2)一个标签上两个属性的名称不能相同
(3)属性和属性值之间用等号,属性的属性值用引号引起来
(4)属性的命名规范和标签相同
4.注释,特殊字符
注释:
写法:
注意:注释是不能嵌套的,也就是注释之中时不能再写注释的
助事业不能放在第一行第一列,因为这个地方必须放文档声明
特殊字符:
如果想要在xml中显示a
5.CDATA区
可以解决多个字符都需要转义的操作
把这些内容都放到CDATA区之中,就不需要再额外转义了
CDATA写法:
1
6.PI指令
PI指令也叫处理指令
可以再xml中设置样式(比如css等)
写法:
1
注意:PI指令对中文的标签元素是不起作用的
注意:PI指令对中文的标签元素是不起作用的
1.为什么需要约束
比如现在定义一个person的xml文件,只想要在这个文件中保存person相关的信息,但是如果xml文件中写了猫的标签,我们会发现也会正常显示,因为这个写法符合xml的语法规范,但是猫肯定不是person相关的信息。因此,xml需要引入约束
2.xml的约束技术
dtd约束,其中dtd为英文Document Type Definition,中文意思为“文档类型定义”。
schema约束
1.dtd快速入门:
创建一个文件 后缀名是.dtd
步骤:
(1)看xml中有多少个元素,有几个元素,在dtd文件中写几个
(2)判断元素是简单元素还是复杂元素
简单元素:没有子元素
复杂元素:有子元素
(3)在xml文件中引入dtd文件
注意:打开xml文件使用浏览器打开的,浏览器只负责校验xml的语法,不负责校验约束
如果想要校验xml的约束,需要使用工具(可以使用myeclipse的工具)
打开myeclipse开发工具
创建一个项目
在src目录下创建一个xml文件和dtd文件
当xml文件引入了dtd文件之后,会检查xml和dtd的匹配,若不匹配则会报错
2.dtd文件的三种引用方式
(1)引用外部dtd文件
(2)直接在内部写dtd
(3)使用网络上的dtd文件
3.使用dtd定义元素
语法:
4.使用dtd定义属性
语法
【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。加群:731771211。免费赠送web前端系统的学习资料!!前端学习必备公众号ID:mtbcxx】
文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99
文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效
文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是
文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件
文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件
文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码
文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware
文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停
文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待
文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析
文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code
文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象