黑马程序员技术交流社区

标题: XML [打印本页]

作者: 路人丶    时间: 2018-1-18 21:36
标题: XML
xml:
        可扩展的标签语言
        标签自定义.
        作用:存储数据.(配置文件)
        书写规范:
                1.区分大小写
                2.应该有一个根标签
                3.标签必须关闭
                        <xx></xx>
                        <xx/>
                4.属性必须用引号引起来,
                        <xx att="value"/>
                5.标签体中的空格或者换行或者制表符等内容都是作为数据内容存在的
                        <xx>aa</xx>
                        <xx>    aa   </xx>
                6.特殊字符必须转义
                        < > &
                满足上面规范的文件我们称之为是一个格式良好的xml文件.可以通过浏览器浏览
        后缀名:
                .xml


xml解析:
        解析方式:
                1.sax:特点:逐行解析,只能查询.
                2.dom:特点:一次性将文档加载到内容中,形成一个dom树.可以对dom树curd操作
        解析技术:
                JAXP:sun公司提供支持DOM和SAX开发包
                JDom:dom4j兄弟
                jsoup:一种处理HTML特定解析开发包
                ★dom4j:比较常用的解析开发包,hibernate底层采用。
        dom4j技术进行查询操作.
                使用步骤:
                        1.导入jar包
                        2.创建一个核心对象 SAXReader
                                new SAXReader();
                        3.将xml文档加载到内存中形成一棵树
                                Document doc=reader.read(文件)
                        4.获取根节点
                                Element root=doc.getRootElement();
                        5.通过根节点就可以获取其他节点(文本节点,属性节点,元素节点)
                                获取所有的子元素
                                        List<Element> list=root.elements()
                                获取元素的指定属性内容
                                        String value=root.attributeValue("属性名");
                                获取子标签标签体:遍历list 获取到每一个子元素
                                        String text=ele.elementText("子标签名称")
                                       
        xpath解析技术:(扩展)
                依赖于dom4j
                        使用步骤:
                                1.导入jar包(dom4j和jaxen-1.1-beta-6.jar)
                                2.加载xml文件到内存中
                                3.使用api
                                        selectNode("表达式");
                                        selectSingleNode("表达式");
                        表达式的写法:
                                / 从根节点选取
                                // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
                                例如一个标签下有一个id属性且有值  id=2;
                                        //元素名[@属性名='属性值']
                                        //元素名[@id='2']


作者: 1414225997    时间: 2018-1-19 11:40
期待继续更新~~~
作者: 渝小妹    时间: 2018-1-21 16:56
期待你每天的进步   温故而知新
作者: 陈文老师    时间: 2018-1-23 09:19
继续加油!每天总结,每天成长!




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