XML基础入门

2021/9/4 23:10:30

本文主要是介绍XML基础入门,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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里面的语句就行了



这篇关于XML基础入门的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程