XML和JSON的学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

XML和JSON的学习笔记


提示:以下是本篇文章正文内容,下面案例可供参考

一、XML

XML 是 可扩展标记语言,具有平台无关性和自我描述性。
平台无关性:
a. 任何系统打开的效果一样(系统平台无关性)
b. 任何语言解析的效果一样(语言平台无关性)

XML 的语法格式:

  1. 首先需要声明此文档是XML文档:<?xml version="1.0" encoding="UTF-8"?>
  2. XML文档是由标记组成的: 开始标记:<name>, 结束标记:</name> 标记名称命名格式与Java命名差不多。
  3. XML只允许有一个根标记,即要有一个标记里面包含所有的标记(除根标记外)
  4. 标记可以嵌套,但不允许交叉
  5. 子父标记,兄弟标记,后代祖先标记
  6. 标记名称可重复
  7. 标记可以有属性,示例:<name id="1"></name>
  8. 注释规则:
    a. 不能在文档声明前并不能嵌套
    b. 注释开始:<!-- 注释结束:-->

XML的示例:

<?xml version="1.0" encoding="UTF-8"?>
<books>
	<book id="1">
		<name>apple</name>
		<info>Big Apple</info>
	</book>
	<book id="1">
		<name>orange</name>
		<info>Big Orange</info>
	</book>
</books>

Java 中解析XML的方式:

  1. SAX解析:逐行解析整个文档,无法一下子逐行整个文档。单向解析,无法同时访问同一文档的不同部分数据。只读解析方式,无法修改文档。
  2. DOM解析:文档在内容中加载,允许修改文档。访问是双向的,双向解析数据。但文档全部加载在内存中,资源消耗会比SAX大。但是XML的大小可以忽略此缺点不计。
  3. JDOM解析:使用了Java集合类,较为方便
  4. DOM4J解析:更加方便,并且很多Java软件使用DOM4J读写XML

SAX本地解析示例:

public class XmlParse {
   
    public static void main(String[] args) throws IOException, DocumentException {
   
        //1. 获取输入流
        FileInputStream fis = new FileInputStream("d://Demo.xml");
        //2. 创建XML读取对象
        SAXReader sr = new SAXReader();
        //3. 读取并得到文档对象
        Document doc = sr.read(fis);
        //4. 获取根元素
        Element root = doc.getRootElement();
        System.out.println(root.getName());
        //转换为list并遍历
        List<Element> es = root.elements();
        for(int i=0; i<es.size(); i++){
   
            Element book = es.get(i);
            System.out.println(book.attribute("id"));
            System.out.println(book.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值