黑马程序员技术交流社区

标题: 【石家庄校区】java小白总结前端第九天的笔记-工具类和XML [打印本页]

作者: 隔壁小白    时间: 2017-11-27 23:14
标题: 【石家庄校区】java小白总结前端第九天的笔记-工具类和XML
#工具类的优化
提取出相同的东西
*元数据MetaData
*数据库元数据
获得:
* DatabaseMetaData conn.getMetaData();
作用:
* 获得驱动信息(驱动类,用户名,url).
* 获得数据库中表信息及表中的主键的信息.
*参数元数据
获得:
* ParameterMetaData pstmt.getParameterMetaData();
作用:
* 获得SQL中的参数的个数.
* 获得SQL中的参数的类型. --MYSQL数据库有问题.
*结果集元数据
获得:
* ResultSetMetaData rs.getMetaData();
作用:
* 获得列的个数
* 获得列的名称
* 获得列的类型
#XML&Tomcat
*XML
*XML的概述
可扩展标记语言
是一种标记语言,类似HTML
设计宗旨是传输数据,而不是显示数据
标签没有被预定义,需要自行定义标签
被设计为自我描述性
是W3C的推荐标准
*XML的作用
传输和存储数据(存储到配置文件)
软件的配置文件
*XML的语法
*文档声明
通常出现在文档的第一行第一列
*写法:
<?xml 属性名="属性值" 属性名="属性值" ...?>
version 必须是1.0
encoding:字符集,是使用浏览器打开的时候采用的默认的字符集的编码
(告诉浏览器解析XML的字符集的编码)
standalone:描述XML文档是否需要依赖其他的文件        可以引用CSS进行美化
*注释
跟html一致  <!--XML的注释-->
*元素(标签)
命名规则:
不能使用  :
标签区分大小写的.<a> <A>
                               XML语法比较严格,有开始标签,必须有结束标签.<book/>
                               XML的元素名称.需要以字母开始中间不能使用空格 不能使用:
                               元素的名称不能是以XML,xml,Xml开头.
                               XML文档必须有一个跟元素.

*属性
属性名称的规范和元素一致

不能使用空格,冒号特殊字符.
                       属性需要以字母开头.
                   属性必须使用引号.
*特殊字符和CDATA区
<  &lt;
>  &gt;

<![CDATA[  内容  ]]>

*XML的解析
从XML文档中获得想要的数据(通过代码完成)
XML的解析方式(面试)
*DOM解析:Document Object Model               
一次性将文档加载到内存,形成树形结构进行解析
缺点:如果文档特别大,容易导致内存的溢出
优点:对XML进行增删改的操作
*SAX解析:                                                       
事件驱动方式,逐行进行解析
缺点:不能对文档进行增删改的操作
优点:如果文档特别大,不会导致内存的溢出
针对这两种解析的方式,不同公司提供了不同的API的实现
*JAXP:SUN公司提供的一套XML的解析的API
*JDOM:
*DOM4J:开原组织提供了一套
*pull:解析-主要应用在android.
*XPath
*dom4j支持XPath的jar包
*dom4j支持XPath的API
子孙元素//
子元素/
属性[@type]
*xml的约束
*概述
就是用来约束xml的文档中可以出现哪些标签,不能出现哪些标签,标签中是否有顺序,出现的次数
*约束的作用
用来规范xml的写法
*xml的约束的种类及区别
*DTD
*Schema
区别:
1.DTD语法是自成一体的,Schema语法就是xml的语法
2.Schema的语法就是xml的语法,所以更容易被解析器所解析
3.Schema支持名称空间
4.Schema有比DTD更加强大的语义和语法的约束
*DTD的语法(了解)
*引入的方式
*内部的DTD
<!DOCTYPE  persons[
]>
*外部的DTD
*一种本地DTD
<!DOCTYPE books SYSTEM "book.dtd">
<!DOCTYPE 跟标签名 SYSTEM “路径”>
一种网络DTD
<!DOCTYPE  persons  PUBLIC "//UNKNOWN/""unknown.dtd">
<!DOCTYPE  跟标签名  PUBLIC  "约束名" "约束地址"

*DTD语法:
                             * 元素:<!ELEMENT 元素名称 元素组成>
                                 * 元素类型:
EMPTY
ANY
子元素
(#PCDATA)
         * 如果出现子元素:
使用?(出现0次或1次),
*(出现0次或多次),
+(出现1次或多次) 表示子元素出现的个数.使用|或者,规定元素出现的顺序.
| :代表或
, :代表子元素出现必须按照顺序.
     * 属性:
<!ATTLIST 元素名称 属性名称 属性类型 属性的约束>
         * 属性类型:
ID:表示属性值需要是唯一的
枚举"
CDATA:普通的字符串
         * 属性的约束:
REQUIRED
IMPLIED
FIXED
*Schema的语法(了解)
名称空间:一个XML只能引入一个DTD约束文档.使用了Schema约束XML文档,一个XML可以引入多个Schame的约束!!!
  如果再多个Schema文档中定义了相同的属性名称 该怎么办?
  * 名称空间类似于java中的package.通过名称空间区分 标签或属性来自于哪个文档的!!!通常名称空间唯一的不重复的即可.一般情况下使用一个URL地址表示一个名称空间.






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2