一.概念

  XML: Extensible  markup Language,可拓展标记语言

  功能:存储数据

    1.配置文件

    2.在网络中传输数据

  html和xml的区别:

    1.xml标记全是自定义的

    2.xml的语法严格

    3.xml是存储数据,html是展示数据 

二.语法

  1.xml文档的后缀名是.xml

  2.xml第一行必须是定义的文档声明

 <?xml version="1.0" encoding="utf-8" standalone='no' ?> 

    注:version:版本号,必须写的属性

      encoding:编码方式

      standalone:是否独立,yes:不依赖其他文件,no:依赖其它文件

  3.xml文档中有且只能有一个根标签

  4.属性值必须用引号

  5.标签必须关闭

  6.xml标签名称区分大小写

  7.约束:规定xml文档书写规则。两种约束分别为(DTD约束和schema)

三.解析

  即操作xml文档,将文档中的数据读取到内存中。

  1.操作xml文档

    读取:将文档中的数据读取到内存中

    写入:将内存中的数据保存到xml文件中,持久化的存储

  2.解析xml的方式

    方式一:dome将标记语言一次性加载进内存,在内存中形成一颗DOM树。

      优点:操作方便,可以进行CRUD操作

      缺点:消耗内存

    方式二:SAX逐行读取,基于事件驱动,不占内存,只能读取不能增删改。

  3.常见的解析器 

    JAXP:sun公司解析器,支持dom和sax两种思想

    DOM4J:

    Jsoup:一套API 直接解析url 地址和标记内容

    PULL:Android 操作系统内置的解析器,解析方式是SAX 方式

  4.Jsoup入门程序

    使用步骤:   

      1 导包 jsoup-1.11.2包 ,编写XML文件(放在src下)

      2获得Document 对象

      3 获取对应的标签Element

      4 获取数据

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements; import java.io.File;
import java.io.IOException; public class Demo1Jsoup {
public static void main(String[] args) throws IOException {
// 2获得Document 对象
String path = Demo1Jsoup.class.getClassLoader().getResource("st.xml").getPath();
Document document = Jsoup.parse(new File(path), "utf-8");
// 3 获取对应的标签Element
Elements elements = document.getElementsByTag("name");
// System.out.println(elements);
System.out.println(elements.size());
//得到第二个name标签的值
Element name = elements.get(1);
// 4 获取数据
System.out.println(name);
}
}

  5.对象的使用

    ★Jsoup工具类可以解析XML、HTML文档,返回Document对象。通过parse也可以解析XML文档,parse(URL url,int timeoutMills)。

    ★通过Document文档对象获得对应的标签Element。getElementByTag("标签名");getElementById(String id);

      获得属性值:

        String attr(String key)通过属性名获取值

      只获得文本内容:   

        String text();

        String html();  包括标签的字符串内容

    ★selector选择器:

      select(String cssQuery);

XML基础入门的更多相关文章

  1. C# XML基础入门(XML文件内容增删改查清)

    前言: 最近对接了一个第三方的项目,该项目的数据传输格式是XML.由于工作多年只有之前在医疗行业的时候有接触过少量数据格式是XML的接口,之后就几乎没有接触过了.因此对于XML这块自己感觉还是有很多盲 ...

  2. [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.

    前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...

  3. [Spring框架]Spring AOP基础入门总结一.

    前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...

  4. .NET ORM 的 “SOD蜜”--零基础入门篇

    PDF.NET SOD框架不仅仅是一个ORM,但是它的ORM功能是独具特色的,我在博客中已经多次介绍,但都是原理性的,可能不少初学的朋友还是觉得复杂,其实,SOD的ORM是很简单的.下面我们就采用流行 ...

  5. SpringMVC基础入门

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...

  6. osgEarth基础入门

    osgEarth基础入门 2015年3月21日 16:19 osgEarth是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了瓦片调度插件,可选的四叉树调度插件,更多的地理数据加载插件 ...

  7. T4教程1 T4模版引擎之基础入门

    T4模版引擎之基础入门   额,T4好陌生的名字,和NuGet一样很悲催,不为世人所熟知,却又在背后默默无闻的奉献着,直到现在我们项目组的人除了我之外,其它人还是对其豪无兴趣,基本上是连看一眼都懒得看 ...

  8. [.ashx檔?泛型处理例程?]基础入门#1....能否用中文教会我?别说火星文?

    原文出處  http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/20/ashx_beginner_01.aspx [.ashx檔?泛型处理例程? ...

  9. Python基础入门教程

    Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...

随机推荐

  1. RabbitMQ 设置消息的优先级

    在RabbitMQ中,可以设置消息的优先级,也就相当于在队列中置顶某条消息,让某个消息优先得到处理的功能. 既然是设置消息的优先级,那么就是针对生产者,也就是消息发布端. 设置消息的优先级一共有2个步 ...

  2. Linux Hadoop集群搭建第二步:--------SSH免密登陆

    内容和Linux 搭建 Hadoop集群--Jdk配置相关联 三台虚拟机的操作 Linux SSH免密登陆: 参考网址:http://www.cnblogs.com/999-/p/6884861.ht ...

  3. js 变量的声明能提升 初始化不会提升

    var x = 5; // 初始化 x elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x + & ...

  4. Docker(3):Dockerfile介绍及简单示例

    Dockerfile 概念 Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像.它们简化了从头到尾的流程并极大的简化了部署工作.Dockerfile从FR ...

  5. L305 发邮件15分钟

    发个邮件-不用那么纠结-把事情讲清楚就好-限制在15分钟写完-长的邮件25分钟-难点是讲清楚细节-比如软件调试bug-DFM-这里有些专业词汇 发现问题:发给客户的There are some qua ...

  6. L271 操纵太空中航天器的几种方法

    Manoeuvring a satellite in orbit usually requires thrusters. Sometimes the thrust is provided by a f ...

  7. 【转】CEF3加载网页---多字节字符集和UNICODE字符集

    static char* MBSCToCEF(const char* mbcsStr) { wchar_t* wideStr; char* utf8Str; int charLen; charLen ...

  8. IOS内置safari浏览器日期字符串转Date对象失败

    代码示例: <html> <head> <title>Date字符串转化示例</title> </head> <body> &l ...

  9. 中国网建提供的SMS短信发送

    一个简单的发送短信的小demo 第一步: 兄弟们,首先你们去中国网建的官网去注册一个账户:网址http://sms.webchinese.cn/reg.shtml 第二步: 注册完成之后会有免费的测试 ...

  10. 2.23 js处理日历控件(修改readonly属性)

    2.23 js处理日历控件(修改readonly属性) 前言    日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如 ...