博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xml
阅读量:5061 次
发布时间:2019-06-12

本文共 2689 字,大约阅读时间需要 8 分钟。

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-8
3. 保存的时候见到的ANSI 对应的其实是我们的本地编码 GBK。
为了通用,建议使用UTF-8编码保存,以及encoding 都是 utf-8

xml标签:

与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 个预定义的实体引用:

&lt; <  
&gt; >  
&amp; &  
&apos; '  
&quat; "  

 

CDATA:

如果内容过多里面有包含关键字或者是标签符号的可以使用CDATA

[DATA[里面为内容]]

百度]]>

Xml解析:

其实就是获得xml中的字符串或者是属性值

XML解析方式(面试常问)

 有很多种,但是常用的有两种。
DOM
SAX

针对这两种解析方式的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();        //获得跟标签        List
list=element.elements(); //获得跟标签下的所有element for (Element element2 : list) { //遍历 System.out.println(element2.getText()); System.out.println(element2.getText()); } }

好了解析xml就到这里

 

转载于:https://www.cnblogs.com/ahJava/p/9739642.html

你可能感兴趣的文章
语义web基础知识学习
查看>>
hexo个人博客添加宠物/鼠标点击效果/博客管理
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>
关于WPF的2000件事 02--WPF界面是如何渲染的?
查看>>
单元测试、、、
查看>>
SVN使用教程总结
查看>>
JS 浏览器对象
查看>>
TestNG入门
查看>>
【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
查看>>
虚拟中没有eth0
查看>>
Unity 3D游戏开发学习路线(方法篇)
查看>>
BZOJ2049[Sdoi2008]Cave 洞穴勘测(LCT模板)
查看>>
vuex插件
查看>>
2011年12月09日
查看>>
[ZJOI2007]棋盘制作 【最大同色矩形】
查看>>
合并单元格
查看>>
swift-初探webView与JS交互
查看>>
IOS-图片操作集合
查看>>
Android bitmap图片处理
查看>>
Android应用程序进程启动过程的源代码分析
查看>>