XML - Jsoup

xml:Extensible Markup Language 可扩展标记语言。

         优点:*可拓展

                    *标签自定义

 -------- 与HTML的区别:1、 HTML 标签预定义,XML自定义。

                                        2、 XML 定义严格,标签必须闭合,否则报错,HTML相对比较松散。

                                        3、 XML 用来存储数据,HTML用于展示。

语法:

        1、 xml文件后缀名为 .xml。

        2、 第一行必须定义为 文档声明。

        3、 有且仅有一个根标签。

        4、 属性值必须用引号引起来。

        5、标签名称区分大小写。

例:最基本的xml文件

<?xml version="1.0" ?> <!-- 有三个属性 version 必须 “1.0” encoding 当前文档编码格式 
                                //      standalone:是否独立
							    //           * yes:不依赖其他文件
							    //            * no:依赖其他文件 -->
<students>
	<student id="1">    // id属性值 唯一
		<name>张三</name>
		<age>19</age>
		<sex>男</sex>
	</student>
	<student>
		<name>李四</name>
		<age>19</age>
		<sex>男</sex>
	</student>
</students>

如果想要文本原样展示出来,需要使用 <![CDATA[ 数据 ]]> 标签。

XML 文档约束: 引入文档约束,更好地约束文档书写规则。

                           *DTD:简单约束  

                           *Schema:复杂约束

引入:

        DTD:* 本地:<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">
                   * 网络:<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL">

        Schema:1.填写xml文档的根元素 
                      2.引入xsi前缀.  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                      3.引入xsd文件命名空间.  xsi:schemaLocation="http://www.xxx.cn/xml  student.xsd"
                      4.为每一个xsd约束声明一个前缀,作为标识  xmlns="http://www.xxx.cn/xml" 

 

解析XML文件:

                       1、DOM:将标记语言一次性加载进内存,形成一颗文档树。

                       2、SAX:逐行读取。

DOM方式可以进行增删改等操作,但是占据内存较大,SAX相反。

Jsoup解析XML文件:

                       1、引入jar包

                              

                       2、 相关操作

public class XmlTest1 {
	public static void main(String[] args) throws IOException {
		// 获取xml 文件 路径
	String path = XmlTest1.class.getClassLoader().getResource("Students.xml").getPath();
	   // 获取xml 文件(Document)文档对象  通过json.parse方法
	Document document = Jsoup.parse(new File(path), "utf-8");
	  // 获取相应标签内容
		// 1. 获取元素数组 -- list
	  Elements elements = document.getElementsByTag("name");
		// 2.获取元素对象  No.1
	  Element element = elements.get(0);
	   //  3.获取内容
		String text = element.text();
		System.out.println(text);
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值