广州交易网站建设,wordpress付费主题推荐,做织带的网站,wordpress 下载文件插件目录
为什么需要XML?
一 XML语法
1.文档声明
2.元素
语法: 3.属性 4.注释
5.CDATA节
二 树结构
三 转义字符
四 DOM4J
1.XML解析技术
2.dom4j介绍
3.dom4j基本使用 XML 指可扩展标记语言#xff08;eXtensible Markup Language#xff09;。
XML 被设计用来传…目录
为什么需要XML?
一 XML语法
1.文档声明
2.元素
语法: 3.属性 4.注释
5.CDATA节
二 树结构
三 转义字符
四 DOM4J
1.XML解析技术
2.dom4j介绍
3.dom4j基本使用 XML 指可扩展标记语言eXtensible Markup Language。
XML 被设计用来传输和存储数据不用于表现和展示数据HTML 则用来表现数据。 为什么需要XML? ● 解决程序间数据传输的问题 目前多用json替代 比如 qq 之间的数据传送用 xml 格式来传送数据具有良好的可读性可维护性。 ● xml 可以做配置文件 xml 文件做配置文件可以说非常的普遍比如我们的 tomcat 服务器的 server.xml web.xml ● xml 可以充当小型的数据库 程序自己的数据格式存放 xml 文件做小型数据库也是不错的选择我们程序中可能用到的数据如果放在数据库 中读取不合适(因为你要增加维护数据库工作)可以考虑直接用 xml 来做小型数据库 而且 直接读取文件显然要比读取数据库快 一 XML语法
文档声明元素属性注释CDATA区,特殊字符
1.文档声明
?xml version1.0 encodingutf-8? XML 声明放在 XML 文档的第一行 , 由以下几个部分组成 1.version - -文档符合 XML1.0 规范 2.encoding - -文档字符编码比如utf-8 2.元素
notetoTove/tofromJani/fromheadingReminder/headingbodyDont forget me this weekend!/body
/note
语法:
1.每个 XML 文档必须有且只有一个根元素。
2.根元素是一个完全包括文档中其他所有元素的元素。
3.根元素的起始标记要放在所有其他元素的起始标记之前。
4.根元素的结束标记要放在所有其他元素的结束标记之后
5.XML 元素指 XML 文件中出现的标签一个标签分为开始标签和结束标签一个标签 有如下几种书写形式 包含标签体www.sohu.cn 不含标签体的, 简写为 a/
6.一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套绝对不允许交叉嵌套 元素命名规则: 区分大小写例如p/P/和是两个不同的标记。 不能以数字开头。 不能包含空格。 名称中间不能包含冒号:。 如果标签单词需要间隔建议使用下划线 比如 book_titleh/book_title 3.属性
student id200namemary/nameage18/agegender女/gender
/student 属性值用双引号或单引号分隔如果属性值中有用分隔有用分隔一个元素可以有多个属性它的基本格式为元素名 属性名属性值特定的属性名称在同一个元素标记中只能出现一次属性值不能包括 字符 4.注释
!-- 注释 --注释内容中不要出现- -不要把注释放在标记中间注释不能嵌套可以在除标记以外的任何地方放注释 5.CDATA节 有些内容不想让解析引擎执行而是当作原始内容处理(即当做普通文本)可 以使用 CDATA 包括起来CDATA 节中的所有字符都会被当作简单文本而不是 XML 标记
![CDATA[
这里可以把你输入的字符原样显示不会解析 xml
]] 可以输入任意字符除]]外不能嵌套 二 树结构
XML 文档必须包含根元素。该元素是所有其他元素的父元素。
XML 文档中的元素形成了一棵文档树。这棵树从根部开始并扩展到树的最底端。
所有的元素都可以有子元素:
bookstorebook categoryCOOKINGtitle langenEveryday Italian/titleauthorGiada De Laurentiis/authoryear2005/yearprice30.00/price/bookbook categoryCHILDRENtitle langenHarry Potter/titleauthorJ K. Rowling/authoryear2005/yearprice29.99/price/bookbook categoryWEBtitle langenLearning XML/titleauthorErik T. Ray/authoryear2003/yearprice39.95/price/book
/bookstore 三 转义字符
对于一些单个字符若想显示其原始样式也可以使用转义的形式予以处理 四 DOM4J
DOM4J文档
1.XML解析技术
不管是 html 文件还是 xml 文件它们都是标记型文档都可以使用 w3c 组织制定的 dom 技术来解析document 对象表示的是整个文档可以是 html 文档也可以是 xml) 早期 JDK 为我们提供了两种 xml 解析技术: DOM 和 Sax dom 解析技术是 W3C 组织制定的而所有的编程语言都对这个解析技术使用了自己 语言的特点进行实现。 Java 对 dom 技术解析也做了实现sun 公司在 JDK5 版本对 dom 解析技术进行升级SAX Simple API for XML SAX 解析它是以类似事件机制通过回调告诉用户当前正在解析的内容。 是一行一行的读 取 xml 文件进行解析的。不会创建大量的 dom 对象。 所以它在解析 xml时在性能上优于 Dom 解析 第三方的XML解析技术 jdom在dom基础上进行了封装dom4j又对jdom 进行了封装 ***pull主要用在Android手机开发,跟sax类似 都是事件机制解析xml文件 2.dom4j介绍 Dom4j 是一个简单、灵活的开放源代码的库(用于解析/处理 XML 文件)。Dom4j 是由早期 开发 JDOM 的人分离出来而后独立开发的。 与 JDOM 不同的是dom4j 使用接口和抽象基类虽然 Dom4j 的 API 相对要复杂一些 但它提供了比 JDOM 更好的灵活性。 Dom4j 是一个非常优秀的 Java XML API具有性能优异、功能强大和极易使用的特点。 现在很多软件采用的 Dom4j。 使用 Dom4j 开发需下载 dom4j 相应的 jar 文件
3.dom4j基本使用 public static void getDocument() throws DocumentException {读取//读取XML文件,获取document对象SAXReader reader new SAXReader();//创建解析器Document document1 reader.read(new File(src\\com\\web\\helloXML.xml));//解析XML形式文本,获取document对象String xmlmembers/members;Document document2 DocumentHelper.parseText(xml);//主动创建document对象Document document3 DocumentHelper.createDocument();Element root document3.addElement(members);遍历//1. 得到 rootElement, 你是 OOPElement rootElement document.getRootElement();//2. 得到 rootElement 的 student ElementsListElement students rootElement.elements(student);for (Element student : students) {//element 就是 Student 元素/节点//获取 Student 元素 的 name ElementElement name student.element(name);Element age student.element(age);Element resume student.element(resume);Element gender student.element(gender);System.out.println(学生信息 name.getText() age.getText() resume.getText() gender.getText());}CRUDcreateELement() addAttribute() add() remove() setText()}