弓哥课堂笔记

时间:2022-09-20 08:59:56
1.webservice
{
 [
  xml
  DTD
  Schema
 ] 
 CXF
}
2.九种java设计模式(共21种)
3.SpringBoot(time?)高并发(redis,Linux)
4.SpringCloud
 
XMl{1.是解析型的语言不是高级语言(只有一个版本1.0)没有编译的过程
 2.是可扩展的标记型语言
 3.命名规则:只能是_和字母开头可以由数字下划线组成
 4.同一个元素里属性不能重复
 5.
高级语言:都有编译器
 xml头部写法(可写可不写如果不写浏览器不会执行世界标准,执行浏览器自己的标准)[
 1.预处理的部分(头部)属性是有先后顺序[
  version是必须第一个出现(如果书写了头部强制要求必须写!)
 ]
 
  <?xml version="1.0" encoding="utf-8"?>
  ?与xml之间不能有空格(?是用来调用预处理器)
  <test>wenben</test>
  <元素> 文本 结束标记
 ]
 2.顶层元素,又叫根元素,root element[
  一个xml文件只能有一个根元素
 ]
 <students>
  <student id="1001" name="">zhangsan</student>
   ↑   ↑    ↑              ↑
    元素   属性 值            文本
  <student id="1002" name="">zhangsan</student>
  其中:<student>叫开始标记 </student>叫结束标记
  <student id="1003" name="">zhangsan
   <name></name>这是子元素
  </student>
  <student id="1004" name="">zhangsan</student>
 
 </students>
 3.元素的名称和属性的名的命名规范[
  1.严格区分大小写,html不区分大小写
  2.
 ]
 4.注释不可以嵌套<!-- -->
 CDATA节[
  1.里面存放的都是不能被解析的纯文本
  2.不能放在根元素标签外边
  写法:
  <![CDATA[
  文本写这里的文本不能被解析
  
  ]]>
 ]
 5子元素的结束标记一定要在父元素结束标记之前写[
  正确:<students>
   <student>wula
   <name>lala
   <age>19</age>
   </name>
   </student>
  </students>
  错误:<students>qi
   <student>wula
   <name>lala
   <age>19
   </name></age>
   </student>
  </students>
 ]
 
 
 
}
================================================================================================
DTD{
 1.是一门语言
 DTD: 文档类型定义(Document Type Definition)
    DTD:   .xml   .dtd  文件扩展名(外部DTD文件好处可以复用)
 DTD:  dtd的作用???
       从需求的角度上对XML进行约束。
 
CDATA :字符串
ID:1.ID的取值和XML的命名规范完全一致
 2.ID的取值  不能相同
NMTOKEN:取值中间不能有空格
IDREF: REF是引用的意思 取值可以引用一个已有的ID值
IDREFS:取值可以引用多个已有的ID值 可以重复取值
属性的默认值
<!ATTLIST 元素名 属性名 "默认值" >
如果一个属性设置的默认值则是不可以写#IMPLIED 因为他默认就是可有可无的
属性的常量值#FIXED
<!ATTLIST 元素名 属性名 数据类型 #FIXED "常量值" >
如果一个属性设置了常量值则不可以写#REQUIRED 因为他默认就是必须存在的

内部DTD和外部DTD
内部DTD只能约束当前的xml
实体 ENTITY(替换)

补充:
| 或
枚举(男|女)
}

daomforjie
java解析xml
xml的解析技术
 
练习:
<商品目录>
 <商品 编号="101">
  <食品 编号="102">
   <乳制品 编号="103">
    <酸乳酪 编号="104">
     <品种>酸乳酪</品种>
     <数量>16</数量>
     <价格>5元</价格>
    </酸乳酪>
    <奶油 编号="106">
     <品种>鲜口奶油</品种>
     <数量>40</数量>
     <价格>7元</价格>
    </奶油>
    <奶油 编号="1072">
     <品种>草莓味奶油</品种>
     <数量>12</数量>
     <价格>5元</价格>
    </奶油>
   </乳制品>
   <熟食类 编号="105">
    <品种>猪蹄</品种>
    <数量>19</数量>
    <价格>10元</价格>
   </熟食类>
  </食品>
  <百货 编号="109">
   <个人清洁用品 编号="107">
    <品种>洗面奶</品种>
    <数量>20</数量>
    <价格>12元</价格>
   </个人清洁用品>
  </百货>
 </商品>
</商品目录> 
 
 
答案:
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % myentity "(品种,数量,价格)">
<!ENTITY % myentity2 "编号 CDATA #REQUIRED">
<!ELEMENT 商品目录 (商品)>
<!ELEMENT 商品 (食品,百货)>
<!ELEMENT 食品 (乳制品,熟食类)>
<!ELEMENT 百货 (个人清洁用品)>
<!ELEMENT 乳制品 (酸乳酪,奶油+)>
<!ELEMENT 酸乳酪 %myentity;>
<!ELEMENT 奶油 (品种,数量,价格)>
<!ELEMENT 熟食类 (品种,数量,价格)>
<!ELEMENT 个人清洁用品 (品种,数量,价格)>
<!ELEMENT 品种 (#PCDATA)>
<!ELEMENT 数量 (#PCDATA)>
<!ELEMENT 价格 (#PCDATA)>
<!ATTLIST 商品 %myentity2;>
<!ATTLIST 食品 %myentity2;>
<!ATTLIST 百货 %myentity2;>
<!ATTLIST 乳制品 %myentity2;>
<!ATTLIST 酸乳酪 %myentity2;>
<!ATTLIST 奶油 %myentity2;>
<!ATTLIST 熟食类 %myentity2;>
<!ATTLIST 个人清洁用品 %myentity2;>
 
====================================================================================================================
Schema
Schema   DTD 完全一致
Schema 用来约束xml的
DTA来约束Schema
.xsd
优点{
  1.   Schema 的语法和xml的完全一致
  2.   int,double,float,boolean,data,time。。
  
 
}