Xml:
eXtendsible markup language 可扩展的标记语言XML 有什么用?1. 可以用来保存数据2. 可以用来做配置文件3. 数据传输载体定义xml> 其实就是一个文件,文件的后缀为 .xml 文档声明 简单声明, version : 解析这个xml的时候,使用什么版本的解析器解析 <?xml version="1.0" ?> encoding : 解析xml中的文字的时候,使用什么编码来翻译 <?xml version="1.0" encoding="gbk" ?> standalone : no - 该文档会依赖关联其他文档 , yes-- 这是一个独立的文档 <?xml version="1.0" encoding="gbk" standalone="no" ?>encoding详解> 在解析这个xml的时候,使用什么编码去解析。 ---解码。 文字, 而是存储这些文字对应的二进制 。 那么这些文字对应的二进制到底是多少呢? 根据文件使用的编码 来得到。 默认文件保存的时候,使用的是GBK的编码保存。所以要想让我们的xml能够正常的显示中文,有两种解决办法
1. 让encoding也是GBK 或者 gb2312 . 2. 如果encoding是 utf-8 , 那么保存文件的时候也必须使用utf-83. 保存的时候见到的ANSI 对应的其实是我们的本地编码 GBK。为了通用,建议使用UTF-8编码保存,以及encoding 都是 utf-8xml标签:
与HTML一样使用< >来创建:
元素是可以自定义的例如:
刘海清 男 18 17679072513
定义了一个stu标签里面嵌套了name-----sex----age----telephone---
元素的第一个标签为跟标签
XML 命名规则
XML 元素必须遵循以下命名规则: 名称可以含字母、数字以及其他的字符 名称不能以数字或者标点符号开始 名称不能以字符 “xml”(或者 XML、Xml)开始 名称不能包含空格 命名尽量简单,做到见名知义简单元素与复杂元素:简单元素里面只有文字
刘海清 男 18 17679072513
复杂元素里面嵌套其他元素:
刘海清 男 18 17679072513
加入属性:
刘海清 18
xml注释:
与html的注释一样。 <!-- --> 如: <?xml version="1.0" encoding="UTF-8"?> <!-- //这里有两个学生 //一个学生,名字叫张三, 年龄18岁, 学号:10086 //另外一个学生叫李四 。。。 --> xml的注释,不允许放置在文档的第一行。 必须在文档声明下面在 XML 中,有 5 个预定义的实体引用:
< | < | |
> | > | |
& | & | |
' | ' | |
&quat; | " |
CDATA:
如果内容过多里面有包含关键字或者是标签符号的可以使用CDATA
[DATA[里面为内容]]
百度]]>
Xml解析:
其实就是获得xml中的字符串或者是属性值
XML解析方式(面试常问)
有很多种,但是常用的有两种。DOMSAX针对这两种解析方式的API
一些组织或者公司, 针对以上两种解析方式, 给出的解决方案有哪些? jaxp sun公司。 比较繁琐 jdom dom4j 使用比较广泛Dom4j的用法:
需要先导入Dom4j包
接下来写代码:
package com.itheima.xml;import java.io.File;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class Mian { public static void main(String[] args) throws DocumentException { // TODO Auto-generated method stub SAXReader reader = new SAXReader(); //创建SAXReader对象 Document document = reader.read(new File("src/demo.xml")); //加载xml, Element element = document.getRootElement(); //获得跟标签 Listlist=element.elements(); //获得跟标签下的所有element for (Element element2 : list) { //遍历 System.out.println(element2.getText()); System.out.println(element2.getText()); } }
好了解析xml就到这里