XML扩展标记语言
来源:互联网 发布:二代身份证复印件软件 编辑:程序博客网 时间:2024/05/17 03:43
1.xml的作用:
1_在没有真正数据库的前提下,当作小型的数据库用 2_在服务端创建XML文件,以IO形式将XML文件传递给客户端,客户端拿到后,提取出XML文件中 有用的内容,进行处理 3_软件配置,如:JavaEE应用中WEB-INF/web.xml文件
2.XML的基本语法
一个XML文件,加载到内存后,会形成一个倒状的树结构, XML文件内容越多,耗用的内存也就越大 1_文档声明 就是XML文件中第一行代码: <?xml version="1.0" encoding="UTF-8"?> version="1.0"表示解析XML时,采用的版本号 XML可以浏览器来解析,因为浏览器内置XML解析器,让浏览器采用XML1.0 版本的解析器来解析,目前1.0最为常用 encoding="UTF-8"表示解析XML时,采用什么样的解码方式 在Eclipse中,该属性也表示保存该文件时采用的编码方式 注意:文档声明前不要有空行,空格,注释 2_元素/标签/节点 通常情况下,标签有开始,就有结束, 如果标签无文本的话,可以简写,如<a/> 但不能乱套,大小写敏感 HTML可以乱套,大小写不敏感 元素名称做到见名知意, HTML标签是有含意的,如<b>在HTML中表示粗体,但在XML中只是一个标签而以 3_属性 是对标签的附加的说明,只出现在开始标签中 4_注释 给程序员看,XML解析器忽略 不能嵌套 5_CDATA字符数据段/区 让XML不按照XML本身的语法来约束,即不将<符合看作是标签的一个部份,而就不报错了 6_转义字符 用特殊的字符替代XML中敏感的内容 <-----< less than >-----> greater than 赵君个人觉得:程序代码在正确情况下:清晰性->移植性->封装性(一个方法只做一件事)-> -->时(间快)空(间少)性 7_处理指令结合CSS技术,可以读取XML文件的内容,并显示在浏览器
3.XML的约束模式
用于约束XML如何书写的一种技术,这个技术就叫约束模式 约束模式有二个大类别: 1-DTD,易学易用,采用DTD语法,功能有限 2-Schema,相对难学难用,采用XML语法,功能强大
4.DTD简介
DTD不能独立存在,必须嵌入到XML中才有效 嵌入方式有二大类 1_内部方式:DTD和XML在同一个XML文件中 2_外部方式:DTD和XML在不同的文件中,一个在XML中,一个在DTD中,最后通过<!DOCTYPE语句嵌入在一起 -------01:引用外部本地的DTD,即DTD文件就在你的PC上 <!DOCTYPE 根标签 SYSTEM "DTD文件的路径"> -------02:引用外部远程的DTD,即DTD文件不在你的PC上 <!DOCTYPE 根标签 PUBLIC "DTD名称" "DTD文件的路径"> 如:html4这个版本,所有html4程序员,都要遵循loose.dtd这个约束规则 <!ELEMENT元素定义 <!ATTLIST属性定义 <!ENTITY实体定义,就是用一个普通的变量,代替一个文本字符串
5.XML解析介绍
提取XML文件中对应用有用的数据的过程叫XML解析 有二大类解析方式: 1-DOM[Document Object Model]方式特点:一次性将XML文件,由硬盘加载到内存,形成一倒状树结构 优点:速度快,从顶向下解析 缺点:费内存W3C组件推荐 2-SAX[Simple Api for Xml]方式: 特点:【不是】一次性将XML文件加载到内存,无倒状树结构 而是多次加载 优点:不费内存 缺点:相对费时
6.DOM4J解析XML
/** * 用DOM解析方式中的DOM4J解析器来解析src/tv.xml文件 */public class Demo02 { public static void main(String[] args) throws Exception{ InputStream is = Demo02.class.getClassLoader().getResourceAsStream("tv.xml"); SAXReader saxReader = new SAXReader(); Document xmlDocument = saxReader.read(is); Element rootElement = xmlDocument.getRootElement(); //如果dom4j获取较多层次的标签内容时,非常麻烦 String tv = rootElement.element("a").element("b").element("c").element("d").getText().trim(); System.out.println(tv); }}
7.XPath的使用
是结合dom4j一起使用的技术,xpath能够根据字符串,快速定位符合条件的标签
Element dElement = (Element) xmlDocument.selectSingleNode(xpath);
List list = xmlDocument.selectNodes(xpath);
/** * 判断用户是否存在 * @param name 用户名 * @param sex 性别 * @param age 年龄 * @return true 存在 * @return false 不存在 */ public boolean exists(String name,String sex,int age) throws Exception{ boolean flag = false; InputStream is = this.getClass().getClassLoader().getResourceAsStream("classs.xml"); SAXReader saxReader = new SAXReader(); Document xmlDocument = saxReader.read(is); //String xpath = "/classs/student[@name='班长' and @sex='男' and @age>22]"; String xpath = "//student[@name='"+name+"' and @sex='"+sex+"' and @age>"+age+"]"; Element element = (Element) xmlDocument.selectSingleNode(xpath); //如果返回值非空,表示找到了 if(element!=null){ flag = true; }else{ ; } return flag; }
总结:XML语言应用广泛 ,既可以做小型数据库,也可以用来传输数据,还可以用来书写配置文件,而太灵活的属性xml不利于对其信息的提取,因而对其进行了DTD或者Schema约束便于解析,解析用到的方法之一就是DOM4J或者SAX,当DOM4J 与xpath 联合使用时可以快速查询所需要的元素.
0 0
- XML扩展标记语言
- XML可扩展标记语言
- XML 指扩展标记语言
- XML(可扩展标记语言)
- xml-可扩展标记语言
- XML可扩展标记语言
- XML -可扩展标记语言
- XML 可扩展标记语言
- xml可扩展标记语言
- 了解可扩展标记语言 (XML)
- xml编程----可扩展标记语言
- XML(可扩展标记语言)---Schema
- XML可扩展标记型语言
- 可扩展的标记语言XML
- XML(扩展标记语言)学习笔记
- XML可扩展标记语言总结
- 可扩展标记语言XML()
- XML可扩展标记语言概述
- 如何通过yum命令在CentOS上安装JDK
- Node JS practice
- delphi中的copy函数和pos函数
- C/C++和JAVA 实现大数相加
- 不得不说的Android6.0新特性
- XML扩展标记语言
- Mac下修改MySQL编码问题
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
- Mybatis 批量插入 返回自增Id
- java和el方式获取路径
- 在Intellij Idea中怎么引入c标签
- AIDL学习(一)---IPC通讯
- 最牛B的编码套路
- 12月的第一天