Javaweb---JQuery基础知识4(XML)

1.什么是 xml
xml 是可扩展的标记性语言
2.xml 的作用?
xml 的主要作用有:
1、用来保存数据,而且这些数据具有自我描述性
2、它还可以做为项目或者模块的配置文件
3、还可以做为网络传输数据的格式(现在 JSON 为主)
3.xml语法

  1. 文档声明。
  2. 元素(标签)
  3. xml 属性
  4. xml 注释
  5. 文本区域(CDATA 区)
    3.1.文档声明
    1创建一个xml文档
    file—books.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- xml 声明 version 是版本的意思 encoding 是编码
 而且这个<?xml 要连在一起写,否则会有报错-->
<books>
    <book id="123">
        <name>java编程思想</name>
        <author>华仔</author>
        <price>9.9</price>
    </book>
    <book id="124">
        <name>葵花宝典</name>
        <author>班长</author>
        <price>5.5</price>
    </book>
</books>

在这里插入图片描述
2.注释:与html一样
3.元素(标签)

格式:<标签名>封装的数据</标签名>
单标签: <标签名 /> <br /> 换行 <hr />水平线
双标签 <标签名>封装的数据</标签名>
标签名大小写不敏感
标签有属性,有基本属性和事件属性
标签要闭合(不闭合 ,html 中不报错。但我们要养成良好的书写习惯。闭合)
2 )XML 命名规则
XML 元素必须遵循以下命名规则:
2.1)名称可以含字母、数字以及其他的字符
2.2)名称不能以数字或者标点符号开始
2.3)名称不能以字符 “xml”(或者 XML、Xml)开始 (它是可以的,不推荐)
2.4)名称不能包含空格

3 )xml 也 中的元素(标签)也 成 分成 单标签和双标签:
单标签
格式: <标签名 属性=”值” 属性=”值” … />
双标签
格式:< 标签名 属性=”值” 属性=”值” …>文本数据或子标签</标签名>
3.4 .xml属性
xml 的标签属性和 html 的标签属性是非常类似的, 属性可以提供元素的额外信息
在标签上可以书写属性:
一个标签上可以书写多个属性。用 每个属性的值必须使用 号 引号 引起来。
的规则和标签的书写规则一致。

  1. 属性必须使用引号引起来,不引会报错示例代码
    3.5.语法规则:
    3.5.1所有XML元素都须有关闭标签
    3.5.2 XML 标签对大小写敏感
    3.5.3 XML 必须正确地嵌套
    3.5.4 XML 文档必须有根元素(books)

    根元素就是顶级元素,
    没有父标签的元素,叫顶级元素。
    根元素是没有父标签的顶级元素,而且是唯一一个才行
    3.5.5 XML 的属性值须加引号
    3.5.6 XML 中的特殊字符
<: &lt;
>: &gt

3.5.7 文本区域(CDATA 区)
CDATA 语法可以告诉 xml 解析器,我 CDATA 里的文本内容,只是纯文本,不需要 xml 语法解析
CDATA 格式:

<![CDATA[ 这里可以把你输入的字符原样显示,不会解析 xml ]]>

在这里插入图片描述
2 .xml 解析技术介绍
不管是 html 文件还是 xml 文件它们都是标记型文档,都可以使用 w3c 组织制定的 dom 技术来解析
3.dom4j 解析技术(主要使用)*
3.1
在这里插入图片描述
在这里插入图片描述
:解析

public class parserbooks {
    @Test
    public void test1() throws DocumentException {
        SAXReader saxReader = new SAXReader();
        Document read = saxReader.read("books.xml");
        System.out.println(read);
    }
}

遍历并存储到类中
@Test
public void test2() throws DocumentException {
SAXReader saxReader = new SAXReader();
Document read = saxReader.read(“books.xml”);
//得到根元素
Element rootElement = read.getRootElement();
//打印测试
rootElement.asXML();
//将当前元素转换为String对象
//System.out.println(rootElement.asXML());

     Element.elements(标签名)它可以拿到当前元素下的指定的子元素的集合
    //通过根元素获得所有book标签对象
    List<Element> book1 = rootElement.elements("book");
    //遍历每一个book
    for (Element book : book1){
        Element name = book.element("name");
        //Element author = book.element("author");
        //Element price = book.element("price");
        //还可以直接获取文本
        String author = book.elementText("author");
        String price = book.elementText("price");
        BookTest bookTest = new BookTest(name.getText(), author, Double.parseDouble(price));
        System.out.println(bookTest);

        //System.out.println("name" + name.getText() + "author" + author.getText() + "price" + price.getText());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值