A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© kuqi3712 中级黑马   /  2018-1-18 21:39  /  1531 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JDBC 元数据MetaData:
                DatabaseMetaData:获取数据库连接的信息,
                        通过Connection中的getMetaData()方法获取
                ParameterMetaData:获得sql中的参数(sql语句中的问号)个数及类型
                        PreparedStatement中的getParameterMetaData();
                ResultSetMetaData:获得结果集的列名及类型
                        ResultSet中getMetaData()获取
               
XML:
                XML的作用:传输和存取数据.
                                  软件的配置文件
    XML使用:
                XML的语法:
                        文档申明
                        <?xml 属性名="属性值"... ?>
                                version:版本号(通常用1.0),必须的
                                encoding:字符集.是使用浏览器打开时采用的默认字符集的编码
                                standalone:本XML是否需要依赖其他文档 YES/NO
                       
                        XML必须要有根标签
                        注释
                        <!---->
                        元素
                            名称中不能包含冒号
                                不能用数字或者标点开始
                                名称不能以"XML(不分大小写)"开始
                                名称不能包含空格
                        属性
                                命名规则与元素的相同
                                XML中的属性需要加引号
                               
                        特殊字符与CDATA
                               
                                &lt;小于号
                                &gt;大于号
                                &amp;和号&
                                &apos 单引号'
                                &quot; 引号"
                               
                                CDATA(character Data 字符数据)
                                写到CDATA区的都会被认为是字符串
                                <![CDATA[
                                        字符串
                                ]]>
        XML的解析
                DOM解析:Document Object Model
                       
                SAX解析:Simple api for xml
                他们之间的区别:
                        DOM:将文档加载到内存,形成树形结构,每一个子元素都是一个子节点
                        缺点:文档特别大会导致内存溢出
                        优点:能进行增删改
                        SAX:事件驱动的方式,一行一行的读取
                        缺点:不能增删改
                        优点:不会内存溢出
                针对两种解析方式,不同公司提供了不同API实现
                    1.JAXP sun公司  针对DOM,SAX提供不同的API
                        2.jdom 开源组织
                        3.DOM4J开源组织
                        4.pull 用于安卓
                DOM的使用:
                1.创建解析器
                public static Document getDocument() throws DocumentException {
                SAXReader reader = new SAXReader();
                Document document = reader.read("src/com/itheima/test02/city.xml");
                return document;
                }
                解析出的元素叫ELement  (Node节点,元素节点,属性节点,文本节点)
                                属性叫Attribute
                                文本叫Text
                Element
                                List elements() 获取所有的子元素
                                List elements (String name) 根据指定名称获取相应的所有的子元素
                                Element element(String name) 根据指定的元素名称来获取第一个子元素的对象
                                String elementText(String name)根据指定的元素名称来获取子元素中的文本
                                String getText();获取当前元素对象的文本
                                String getName();获取当前元素标签名称
                                void setText(String text)设置当前对象的文本
                                String attributeValue(String name)根据指定的属性名称获取其对应的值
                                addAttribute(String name,String value);根据指定的属性名称添加或者修改其对应的值
                                addElement();添加元素
                                删除自己无法删 必须找上一级 element 用getParent()方法,再调用remove()方法
                               
                XPath:
               
                dom4j支持XPath的jar包
                        引用jaxen-1.1 jar包
                        jaxen-1.1-beta-6
                dom4j的XPath支持的API
               
               
                List        document.selectNodes(String xPath);
                Node        document.selectSingleNode(String xPath);
               
               
               
                SAX:XML的申明 StartDocument
                        开始标签 StartElement
                        结束标签 EndElement
                        识别到空白 EndDocument
                XML的约束:
                        DTD                :
                                DTD语法是自成一体的
                                        DTD的语法:
                        Schema        :
                                语法就是XML的语法,所以更容易被解析器解析
                                Schema支持名称空间
                                Schema比DTD有更强大的语义和语法的约束
                                Schema的语法:
                XML:
                  xmlns: XML name space XML的名称空间
                  名称空间:一个xml只能引入一个DTD文档,但是一个XML可以引入多个schema的约束
                  如果在多个scheme文档中都定义了相同的属性名称怎么办?
                  名称空间类似于java中的包,通过名称空间可以区分是来自哪个schema文档,可以解决这个问题(名称空间是不能一样的)
                  一般情况下 会使用一个url地址来表示一个名称空间
                  
                  targetNameSpace:目标名称空间.

                  引入别人的包,路径唯一不重复(元素与之绑定,在新建的XML中 使用xmlns=""约束文档的xmlns"-instance")表示被约束
                  xmlns xsi:=""约束文档的xmlns"-instance")
                  xmlns(不能重名)=""约束文档的targetNameSpace"")
                  xsi:schemaLocation=""约束文档的targetNameSpace" "{schema的名称}"
                  elementFormDefault:
               
               
                Schema文档的格式
                 (导别人的包 名称空间)                 xmlns="http://www.w3.org/2001/XMLSchema"
                 (给自己打包 相当于 pakage)        targetNamespace="http://xxx.xxxx.xxx/xxx"
                Schema约束的XML的格式
                (w3c的)                                                xmlns:aa="http://www.w3.org/2001/XMLSchema-instance"
                (自定义的 如果这里出现了别名 那么xds中 的标签都需要加上别名 因此将别名放在w3c的名称空间上)       
                                                                        xmlns="http://xxx.xxxx.xxx/xxx"
                (xsd文件)                                        aa:schemaLocation="http://xxx.xxxx.xxx/xxx xxx.xsd"
               

3 个回复

倒序浏览
继续努力哦
回复 使用道具 举报
期待你每天的进步   温故而知新
回复 使用道具 举报
继续加油!每天总结,每天成长!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马