XML基础入门
一.概念
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基础入门的更多相关文章
- C# XML基础入门(XML文件内容增删改查清)
前言: 最近对接了一个第三方的项目,该项目的数据传输格式是XML.由于工作多年只有之前在医疗行业的时候有接触过少量数据格式是XML的接口,之后就几乎没有接触过了.因此对于XML这块自己感觉还是有很多盲 ...
- [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.
前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...
- [Spring框架]Spring AOP基础入门总结一.
前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...
- .NET ORM 的 “SOD蜜”--零基础入门篇
PDF.NET SOD框架不仅仅是一个ORM,但是它的ORM功能是独具特色的,我在博客中已经多次介绍,但都是原理性的,可能不少初学的朋友还是觉得复杂,其实,SOD的ORM是很简单的.下面我们就采用流行 ...
- SpringMVC基础入门
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- osgEarth基础入门
osgEarth基础入门 2015年3月21日 16:19 osgEarth是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了瓦片调度插件,可选的四叉树调度插件,更多的地理数据加载插件 ...
- T4教程1 T4模版引擎之基础入门
T4模版引擎之基础入门 额,T4好陌生的名字,和NuGet一样很悲催,不为世人所熟知,却又在背后默默无闻的奉献着,直到现在我们项目组的人除了我之外,其它人还是对其豪无兴趣,基本上是连看一眼都懒得看 ...
- [.ashx檔?泛型处理例程?]基础入门#1....能否用中文教会我?别说火星文?
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/20/ashx_beginner_01.aspx [.ashx檔?泛型处理例程? ...
- Python基础入门教程
Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...
随机推荐
- :代理模式:proxy
#ifndef __PROXY_H__ #define __PROXY_H__ class Subject { public: Subject(){} virtual ~Subject(){} vir ...
- Python发送四种格式的post请求的代码样例
x-www-form-urlencoded: path = "/api/v1/topics/update"params={'accesstoken':'d38a77f0-6f29- ...
- Android开发 --代码布局
Android开发 --代码布局 在线性布局LinearLayout里加入view比较简单,因为属性比较少,布局简单 示例,加入一个TextView LinearLayout layout = (Li ...
- 循环神经网络-极其详细的推导BPTT
首先明确一下,本文需要对RNN有一定的了解,而且本文只针对标准的网络结构,旨在彻底搞清楚反向传播和BPTT. 反向传播形象描述 什么是反向传播?传播的是什么?传播的是误差,根据误差进行调整. 举个例子 ...
- python+requests+excel 接口自动化框架
一.项目框架如图: 1.common :这个包都是一些公共的方法,如:手机号加解密,get/post接口请求的方法封装,接口鉴权,发邮件,读写excel文件方法等等 2.result:存放每次运行的l ...
- Word2Vec实现原理(Hierarchical Softmax)
由于word2vec有两种改进方法,一种是基于Hierarchical Softmax的,另一种是基于Negative Sampling的.本文关注于基于Hierarchical Softmax的改进 ...
- PMS5003ST+Arduino Nano OLED屏显示
整合OLED显示和PMS5003报数 #include <Arduino.h> #include <pms.h> /////////////////////////////// ...
- background 的一些 小的细节: 1, 背景色覆盖范围: border+ width+ padding ;背景图覆盖范围: width + padding ; 2设置多个背景图片 ; 3) background-position定位百分比的计算方式: 4)background-clip 和 background-origin 的区别
1. background (background-color, background-image) 背景色覆盖范围: border+ width+ padding ;背景图覆盖范围: width ...
- mod_fcgid: HTTP request length 136136 (so far) exceeds MaxRequestLen (131072)
原来是fastcgi模式下的设置问题,需要在配置文件.htaccess或者直接在apache的配置文件http.conf 中指明,如下: 查看官方说明有这么一句:Default: FcgidMaxRe ...
- ChinaCock让Android App应用不锁屏
<meta-data android:name="keepScreenOn" android:value="true"> </meta-dat ...