不合理的网站,小黄猫传媒有限公司官方首页,莆田做网站排名,模板网站建站一#xff0c;XML概述
1.什么是XML XML即为可扩展的标记语言#xff08;eXtensible Markup Language#xff09; XML是一套定义语义标记的规则#xff0c;这些标记将文档分成许多部件并对这些部件加以标识
2.XML和HTML不同之处
XML主要用于说明文档的主题#xff0c;而…一XML概述
1.什么是XML XML即为可扩展的标记语言eXtensible Markup Language XML是一套定义语义标记的规则这些标记将文档分成许多部件并对这些部件加以标识
2.XML和HTML不同之处
XML主要用于说明文档的主题而HTML侧重描述文本的显示格式。XML文档数据和格式分离文档文档数据文档结构文档样式 XML是一种元标记语言用户可以自己定义标记集从而使数据具有自我描述性而HTML的标记是不能自己定制的。 XML支持Unicode字符集
3.Unicode Unicode统一码、万国码、单一码是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发1994年正式公布。随着计算机工作能力的增强Unicode也在面世以来的十多年里得到普及。 常用 Unicode UTF-8以字节为单位对Unicode进行编码 。 UTF-16 以16位无符号整数为单位 。 GB2312gb2312 出现较早 一些汉字和繁体不支持。 GBK 95年重新修订了编码命名GBK1.0共收录了21886个符号。 之后又推出了GBK18030编码共收录了27484个汉字同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字现在WINDOWS平台必需要支持GBK18030编码。 按照GBK18030、GBK、GB2312的顺序种编码是向下兼容同一个汉字在三个编码方案中是相同的编码。
二XML文档结构
1.XML元素
1规范的XML文档中关于元素的几条原则 文档要包含一个或多个元素 根元素文档元素唯一且其无任何部分出现在其他元素中 元素必须被正确关闭 元素不得交叉 属性值必须加引号单引、双引均可
2树形组织结构
父元素子元素 2.XML与HTML标签对比
1. xml标签区分大小写(开始标签和结束标签大小必须一致)tr/tr html标签不区分大小写tr/TR 2. xml中空元素标签必须被关闭br/ html中空元素标签可以不被关闭br 3. xml所有标签必须严格嵌套 bi/i/b html不一定严格嵌套 bi/b/i 4. xml所有标签中的属性值字符必须加(“ ”)或(‘ ’)包括属性 值为数字时student tel‘0108888888’/内容有双引号使用 (‘’),内容有单引号使用(“”) html属性值不一定用引号括起来 hr colorblue 5. xml只能有一个根元素 html可以有多个根元素
3.逻辑结构——XML文档结构
1. XML文档的构成一个格式良好的XML文档要包含三个部分
XML声明处理指令可选XML元素
三XML解析
1.XML解析
1. 将 XML 数据从其序列化字符串格式转换为分层格式获取对应信息的过程 2. 语言无关性 3. 常用的四种解析方式 DOM SAX JDOM DOM4J
2.DOM解析
1. 优点 允许应用程序对数据和结构做出更改 访问是双向的可以在任何时候在树中上下导航获取和操作任意部分的数据
2. 缺点 通常需要加载整个XML文档来构造层次结构消耗资源大。
3.SAX解析
1. SAX处理的优点非常类似于流媒体的优点事件驱动 2. 优点 不需要等待所有数据都被处理分析就能立即开始 只在读取数据时检查数据不需要保存在内存中 可以在某个条件得到满足时停止解析不必解析整个文档 效率和性能较高能解析大于系统内存的文档
3. 缺点 需要应用程序自己负责TAG的处理逻辑例如维护父/子关系等文档越复杂程序就越复杂 单向导航无法定位文档层次很难同时访问同一文档的不同部分数据 无状态性事件过后查询内容不会自动保存
4.JDOM解析
1. 优点 使用具体类而不是接口简化了DOM的API 大量使用了Java集合类方便了Java开发人员
2. 缺点 没有较好的灵活性 性能较差
5.DOM4J解析
1. 优点 大量使用了Java集合类方便Java开发人员同时提供一些提高性能的替代方法 支持XPath 有很好的性能
2. 缺点 大量使用了接口API较为复杂
3.常用类 Document - 表示整个XML文档。文档Document对象是通常被称为DOM树。 Element - 表示一个XML元素。 Element对象有方法来操作其子元素它的文本属性和名称空间。 Attribute - 表示元素的属性。属性有方法来获取和设置属性的值。它有父节点和属性类型。 Node - 代表元素属性或处理指令
4.常用方法 SAXReader.read(xmlSource)() - 构建XML源的DOM4J文档。 Document.getRootElement() - 得到的XML的根元素。 Element.node(index) - 获得在元素特定索引XML节点。 Element.attributes() - 获取一个元素的所有属性。 Node.valueOf(Name) - 得到元件的给定名称的属性的值。
5. 文档读取 SAXReader reader new SAXReader(); Document document reader.read(new File(fileName)); 6. 获取根节点 root document.getRootElement(); 7. 遍历节点 for ( Iterator i root.elementIterator(); i.hasNext(); ) Element element (Element) i.next();
8. 创建xml文档 Document document DocumentHelper.createDocument(); Element root document.addElement(root); 9. 添加元素 Element author2 root.addElement(“student”) .addAttribute(name, “yaoMing) .addAttribute(“age, “20) .addText(“He is a boy); 10. I/O流生成xml文档 FileWriter fileWiter new FileWriter(“XXX.xml)) XMLWriter writer new XMLWriter(fileWriter); writer.write( document );