企业制作网站哪家好,内蒙古呼和浩特,网站前台设计及开发是做什么的,wordpress著名案例XML概述#xff1a;概念#xff1a;可扩展的标记语言。功能#xff1a;作为数据本地存储的格式。(已淘汰)作为结构化存储的方式#xff0c;不如数据库效率高。目前一部分移动设备中还在使用。作为网络中传输数据的格式。(已淘汰)作为网络传输的格式#xff0c;在目前以移动…XML概述概念可扩展的标记语言。功能作为数据本地存储的格式。(已淘汰)作为结构化存储的方式不如数据库效率高。目前一部分移动设备中还在使用。作为网络中传输数据的格式。(已淘汰)作为网络传输的格式在目前以移动互联网为主的环境中格式太大所以已被JSON格式替代。作为配置文件的格式存储配置信息(主要功能)语法文本内部的数据会忽略特殊字符原样输出约束定义xml文档中可以出现的标签、属性及取值范围等限制条件作用开发阶段我们都是引入别人写好的约束文件使用。报错当我们编写或属性写错时可以有友好的提示开发时的代码提示提升开发效率。约束分类dtd(逐渐淘汰)老牌的约束技术有独立的语法。限制规则比较少schema(新兴)在约束文档中约束文档xmlns:xsdhttp://www.w3.org/2001/XMLSchema定义当前文档为约束文档可以指定约束的规则targetNamespace目标名称空间 用于指定当前文档的名称空间。类似于java代码中的package关键字。此处一旦定义了名称空间那么在实例文档中引入当前约束文件时必须指定该名称空间。实例文档xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance定义当前文档为实例文档表示当前文档是被约束的使用约束文件xsi:schemaLocationhttp://shinnippori.lofter.com/xml Aniki.xsd引入名称空间http://shinnippori.lofter.com/xml实例文档中除了w3c的约束之外第三方自定义的约束必须指定约束文件的地址Aniki.xsd(这里恰好是在一层目录内)。格式在schemaLocation中依次编写key和valuekey为名称空间的全名value为约束文件的路径如这里的名称空间/命名空间http://shinnippori.lofter.com/xml不是URL是URI。xml为了避免元素冲突可以给元素加一个特别的前缀但是必须给这个前缀定义一个命名空间也就是必须用xmlns属性给这个前缀加一个特别的名字。这个名字必须是个URI。解析器不会用这个URI来查找信息所以它可以是没有意义的但实际上企业通常把命名空间指向一个真的含有相关信息的网址。并可以为该名称空间起一个别名。xmlns:Shinnipporihttp://shinnippori.lofter.com/xml一个xml中可以引入多个约束文件。类似于java中的import一个xml中最多可以有一个名称空间可以省略别名的定义。解析操作xml文档将文档中的数据读取到内存中操作xml文档解析(读取)将文档中的数据读取到内存中写入将内存中的数据保存到xml文档中。持久化的存储解析xml的方式DOM将标记语言文档一次性加载进内存在内存中形成一颗dom树优点操作方便可以对文档进行增删改查的所有操作,速度比较快缺点占用内存比较多并不适用于内存比较紧张的环境。SAX逐行读取基于事件驱动的。优点占用内存非常少每次只加载一行数据缺点只能读取不能增删改,速度比较慢实际上很多xml解析的工具在实现时会同时采用这两种解析方式xml常见的解析器1. JAXPsun公司提供的解析器支持dom和sax两种思想2. DOM4J一款非常优秀的解析器3. Jsoupjsoup 是一款Java 的HTML解析器可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API可通过DOMCSS以及类似于jQuery的操作方法来取出和操作数据。4. PULLAndroid操作系统内置的解析器sax方式的。Jsoup使用步骤导入jar包获取Document对象获取对应的标签Element对象获取数据代码//2.1获取student.xml的pathString path JsoupDemo1.class.getClassLoader().getResource(student.xml).getPath();//2.2解析xml文档加载文档进内存获取dom树---DocumentDocument document Jsoup.parse(new File(path), utf-8);//3.获取元素对象 ElementElements elements document.getElementsByTag(name);System.out.println(elements.size());//3.1获取第一个name的Element对象Element element elements.get(0);//3.2获取数据String name element.text();System.out.println(name);对象的使用1. Jsoup工具类可以解析html或xml文档返回Document* parse解析html或xml文档返回Document* parse(File in, String charsetName)解析xml或html文件的。* parse(String html)解析xml或html字符串* parse(URL url, int timeoutMillis)通过网络路径获取指定的html或xml的文档对象2. Document文档对象。代表内存中的dom树* 获取Element对象* getElementById(String id)根据id属性值获取唯一的element对象* getElementsByTag(String tagName)根据标签名称获取元素对象集合* getElementsByAttribute(String key)根据属性名称获取元素对象集合* getElementsByAttributeValue(String key, String value)根据对应的属性名和属性值获取元素对象集合3. Elements元素Element对象的集合。可以当做 ArrayList来使用4. Element元素对象1. 获取子元素对象* getElementById(String id)根据id属性值获取唯一的element对象* getElementsByTag(String tagName)根据标签名称获取元素对象集合* getElementsByAttribute(String key)根据属性名称获取元素对象集合* getElementsByAttributeValue(String key, String value)根据对应的属性名和属性值获取元素对象集合2. 获取属性值* String attr(String key)根据属性名称获取属性值3. 获取文本内容* String text():获取文本内容* String html():获取标签体的所有内容(包括字标签的字符串内容)5. Node节点对象* 是Document和Element的父类快捷查询方式1. selector:选择器使用的方法Elements select(String cssQuery)语法参考Selector类中定义的语法,selector的语法和css的选择器语法保持一致,使用选择器方式获取xml中的元素这种方式不通用2. XPathXPath即为XML路径语言它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言使用Jsoup的Xpath需要额外导入jar包。查询w3cshool参考手册使用xpath的语法完成查询代码/ 代表绝对路径// 代表无论层级下的路径* 通配符代表所有/AAA/BBB[1]中括号中可以指定某个集合中的编号从1开始/AAA/BBB[last()]获取集合的最后一个//BBB[id]指定带有某个属性的元素//BBB[idb1]选择某个属性等于指定值的元素返回的是List或者JXNodeJXNode可以直接调用getElement转为原始的Element对##