XML基础入门

本文介绍了XML的基础概念,包括其可扩展性和用途。详细讲述了XML的语法规范,如文档声明、属性值的引用、标签的正确关闭等。接着讨论了XML的组成部分,如文档声明、指令和标签。此外,还探讨了XML的约束机制,如DTD和Schema。最后,概述了XML的解析方式,包括DOM和SAX,并提及了解析库如DOM4J和Jsoup的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.概念

      1.概念:XML(extensible markup language)可扩展标记语言
        可扩展:标签都是自己定义的
        作用:
            存储数据:
                1.配置文件
                2.在网络中传输
        xml与html的区别:
            xml的标签都是自定义的,html标签都是预定义的
            xml的作用是存储数据,html的作用是展示数据
            xml的语法是严格的,html的语法是松散的

2.基础语法

        1.基础语法:

            1.后缀名为.xml;
            2.xml第一行必须得是定义为文档声明:
                <?xml version="1.0" encoding="utf-8" ?>
            3.xml中,有且只有一个根标签
            4.属性值需要用双引号引起来
            5.标签必须得正确关闭
            6.xml标签区分大小写

        2.快速入门

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/css" href="a.css" ?>
<users>
    <user id = '1'>
        <name>zhangsan</name>
        <age>18</age>
        <gender>male</gender>
    </user>


    <user id = '1'>
        <name>lisi</name>
        <age>20</age>
        <gender>female</gender>
    </user>
    <![CDATA[if(a >b && a < c)]]]>


</users>

        3.组成部分

             1.文档声明:<?xml 属性列表?>
                属性:
                    version:版本号,必须加
                    encodeing:编码方式,默认为 ISO-8859-1
                    standalone:是否独立(yes,no)
            2.指令:用于结合CSS
                    <?xml-stylesheet type="text/css" href="a.css"?>
            3.标签:标签名称自定义
            4.属性:id是唯一的
            5.文本:
                CDATA区:在该区域中的文本会被原样展示
                    <![CDATA[数据]]>

        4.约束

                规定xml的书写格式

                1.DTD:简单的约束文件
                    内部DTD:将约束规则定义在xml中
                    外部dtd:约束规则定义在外部文件中
                        本地:<!DOCTYPE 根标签名 SYSTEM "DTD文件的位置">
                        网络:<!DOCTYPE 根标签名 PUBLIC "dtd文件名" "dtd文件的url">

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

3.解析

        就是将.xml读入内存或者是内存数据写出。

                解析:操作xml文件,就是把.xml读取到内存中
            解析方式:
                1.DOM:将xml全部读取到内存中,形成dom树
                2.SAX:逐行读取,基于事件驱动

            解析器:
                1.JAXP:官方的解析器,不好用
                2.DOM4J:不错,但是不学
                3.Jsoup:为html而生,但是也能用xml
                4.PULL:安卓内置解析器

            Jsoup快速入门:
                1.导入jar包
                2.获取document对象
                3.获取对应标签的element对象
                4.获取数据

                快速入门

package jsoup;

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 JsoupDemo1 {
    public static void main(String[] args) throws IOException {
        //获取文档对象
        String path = JsoupDemo1.class.getClassLoader().getResource("student.xml").getPath();
        Document document = Jsoup.parse(new File(path), "utf-8");
        //获取element,标签对象
        Elements elements = document.getElementsByTag("name");
        System.out.println(elements.size());
        Element element = elements.get(0);
        String name = element.text();
        System.out.println(name);
    }
}

对象:

                1.Jsoup:工具类
                    parse():(很多重载)
                2.Document对象:    
                    getElementByTag:
                    getElementById:
                    getElementByAttribute:
                    getElementByAttributeValue:
                3.Elements对象:是ArrayList集合的子类,直接当成他用也行
                4.Element对象:
                    1.获取子类对象
                        getElementByTag:
                        getElementById:
                        getElementByAttribute:
                        getElementByAttributeValue:
                    2.获取属性值
                        String attr(String key):根据属性名称获取属性值
                    3.获取文本内容
                        String text():获取文本对象的内容,只包含标签之间的文本
                        String html():获取标签体的所有内容,包括标签
                5.Node节点对象
                    Document对象和Element对象的父类。

查询:

                1.selector选择器:
                    照样得查手册,然后写selector里面的内容
                2.Xpath:一种路径语言,专门用来确定xml中某位置的语言
                    需要导包
                    查询手册写selN里面的语句就行了

目 录 译者序 作者简介 前言 第1章 XML简介 1.1 标记语言 1.2 XML的起源和目的 1.3 Web体系结构:过去与未来 1.3.1 传统Web体系结构 1.3.2 XML下的Web体系结构 1.4 XML基本特征 1.5 词汇表 1.5.1 科学词汇表 1.5.2 商业词汇表 1.5.3 法律词汇表 1.5.4 医学词汇表 1.5.5 计算机词汇表 1.6 XML技术的主要特性 1.6.1 格式正规的XML 1.6.2 文档类型定义 1.6.3 数据建模 1.6.4 文档对象模型 1.6.5 XML 简单API 1.6.6 命名空间和模式 1.6.7 链接和查询 1.6.8 转换XML 1.6.9 XML数据库 1.6.10 服务器到服务器 1.6.11 电子商务与XML 1.6.12 使用样式 1.6.13 无线应用程序协议和WML 1.7 XML的应用程序举例 1.8 小结 第2章 XML语法 2.1 标记语法 2.1.1 字符 2.1.2 命名 2.2 文档部分 2.3 元素 2.3.1 起始标记 2.3.2 结束标记 2.3.3 空元素标记 2.3.4 标记:一个简单的例子 2.3.5 文档元素 2.3.6 子元素 2.3.7 元素嵌套 2.3.8 字符串 2.4 字符数据 2.5 属性 2.5.1 特殊属性 2.5.2 空白 2.5.3 行尾的处理 2.6 字符引用和实体引用 2.6.1 字符引用 2.6.2 实体引用 2.7 处理指令 2.8 注释 2.9 CDATA部分 2.10 文档结构 2.10.1 序言 2.10.2 尾声 2.11 XML语法小结 2.12 格式正规的文档 2.13 解析器 2.13.1 事件驱动的解析器 2.13.2 基于树的解析器 2.13.3 解析器基准测试 2.14 书籍目录应用程序 2.15 小结 第3章 文档类型定义 3.1 为何需要正式的结构 3.1.1 文档域 3.1.2 验证文档的有效性 3.2 编写DTD:通用原则 3.2.1 将DTD与XML文档相关联 3.2.2 基本标记声明 3.3 正式的DTD结构 3.3.1 实体 3.3.2 元素 3.3.3 属性 3.3.4 条件部分 3.4 DTD的缺点 3.5 用于图书目录问题的DTD 3.5.1 图书目录问题的正式定义 3.5.2 对象关系问题 3.5.3 进一步讨论 3.6 小结 第4章 数据建模与XML 4.1 信息建模 4.1.1 静态模型和动态模型 4.1.2 文档和数据 4.1.3 从何处开始 4.1.4 静态信息模型 4.1.5 动态建模:对数据进行哪些处理? 4.2 设计XML文档 4.2.1 XML的两种角色 4.2.2 将信息模型映射到XML 4.3 模式语言和表示法 4.3.1 模式的作用 4.3.2 将DTD作为模式 4.3.3 XML模式建议 4.4 小结 第5章 文档对象模型 5.1 什么是文档对象模型 5.1.1 XML文档结构 5.1.2 为何使用DOM 5.1.3 DOM规范 5.1.4 现实世界中的DOM 5.1.5 特殊的XML DOM实例— HTML DOM 5.2 使用DOM 5.2.1 DOM API 5.2.2 客户端和服务器端 5.2.3 DOM在出版过程中的应用 5.3 使用DOM和XML的应用实例 5.3.1 简单的客户端实例 5.3.2 更复杂的编程实例 5.4 DOM和XML的未来 5.4.1 W3C的工作 5.4.2 应用 5.4.3 数据库、模式和DOM 5.5 小结 第6章 SAX 1.0: XML简易API 6.1 事件驱动接口 6.2 SAX的由来 6.3 SAX的高级特性 6.3.1 可选择的源输入 6.3.2 处理外部实体 6.3.3 选择解析器 6.4 一些SAX设计模式 6.5 SAX 2.0 6.5.1 可配置的接口 6.5.2 核心的特性和属性 6.6 小结 第7章 命名空间和模式 7.1 混合词汇表 7.1.1 分解问题 7.1.2 重用 7.1.3 二义性与名称冲突 7.2 命名空间 7.3 定义和声明命名空间 7.3.1 声明一个命名空间 7.3.2 限定名 7.3.3 范围 7.4 在格式正规的书籍里使用命名空间 实例 7.5 模式 7.5.1 与DTD有关的问题 7.5.2 一个对创建模式的帮助 7.6 W3C在XML 模式方面的工作 7.6.1 DTD与XML 模式的比较 7.6.2 结构 7.6.3 数据类型 7.7 简化了的XML Data 7.7.1 MSXML对命名空间和模式的支持 7.7.2 数据类型 7.8 图书目录中的变化 7.8.1 为什么烦恼 7.8.2 重铸DTD 7.8.3 模式协调 7.9 小结 第8章 链接和查询 8.1 XML 信息集合 8.1.1 信息类型 8.1.2 信息集合的重要性 8.1.3 小结 8.2 链接 8.2.1 什么是链接? 8.2.2 W3C规范:XLink 8.3 Xpointer 8.3.1 HTML指针 8.3.2 Xpointer 规范 8.4 W3C Xpath推荐标准 8.4.1 Location Step 8.4.2 XPointer对XPath的扩展 8.4.3 Xpointer错误 8.4.4 小结 8.5 XML片段交换 8.5.1 什么是文档片段 8.5.2 文档片段的一些用途 8.5.3 问题:Bare文档片段并不总 是充分的 8.5.4 解决办法:环境信息 8.5.5 回顾实例 8.5.6 如何传输片段 8.5.7 小结 8.6 查询 8.6.1 什么是查询语言 8.6.2 关系型数据库和XML文档之间的区别 8.6.3 XML查询语言的发展历史 8.6.4 使用Xpath和XSLT查询XML文档 8.6.5 查询语言展望 8.7 小结 第9章 转换 XML 9.1 为什么转换 XML 9.1.1 在不同词汇表之间转换 9.1.2 动态转换 9.1.3 不同的浏览器 9.2 XSL 9.3 XSLT 样式表结构 9.3.1 创建模板 9.3.2 处理空白 9.3.3 输出格式 9.3.4 合并样式表 9.3.5 嵌入样式表 9.4 使用XSLT的例子 9.4.1 结构的转换 9.4.2 循环 9.4.3 排序 9.4.4 条件处理 9.4.5 名称模板 9.4.6 编号方式 9.4.7 拷贝 9.5 使用DOM进行XML文档的转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值