JavaWeb基础(JQuery,XML及解析)

这个阶段有点拖沓了,因为事情比较多,耽搁了一段时间,学习的主要内容为JQuery和XML,因为vue的出现,JQuery技术现在已经不流行了,但是不流行不代表我不会,JQuery最最最最核心的就是他的$()核心函数,也是JQuery两把利剑中的其中一把,另外一把是JQuery核心对象,即JQuery核心函数返回的对象,JQuery对象内部包含的是dom元素对象的伪数组(可能只有元素),还有各种选择器操作。

JQuery函数使用时需要等页面加载完成,则就需要将选择器操作写在$(function (){   })内,其与$(document).ready((function (){   })相同,前者是后者的语法糖。

一些JQuery选择器操作

<script src="jquery-3.5.1.min.js"></script>
  <script type="text/javascript">
      //等待dom 页面加载和显示
    $(function (){

        /*$("#btn").click(function (){
            $(":file").css("background","red");
        })*/

       /* $("#btn").click(function (){
            //val()方法可以获取表单项的值 也可以 将括号中的参数进行对表单项的赋值
           $(":text:disabled").val("I am your father!");
       })*/

       /* $("#btn").click(function (){
           $(":file").css("background","red");
       }) */

        $("#btn").click(function (){
            //这个input可以省略 因为:file就是默认表单选择器
            $("input:file").css("background","red");
        })



    })
  </script>

<script src="jquery-3.5.1.min.js"></script>
  <script type="text/javascript">
      $(function (){
/*
              $("#btn1").click(function (){
                  $("h1[id]").css("background","red");

              })*/

          /* $("#btn1").click(function (){
                 $("h1[id$='2']").css("background","red");

             })*/

          /*$("#btn1").click(function (){
              $("h1[id^='0']").css("background","red");

          })*/
/*
          $("#btn1").click(function (){
              $("h1[id^='0'][id!='02']").css("background","red");

          })*/


          $("#btn1").click(function (){
              $("h1[id!='01']").css("background","red");

          })

      })
  </script>

 <script src="jquery-3.5.1.min.js"></script>
  <script type="text/javascript">
   $(document).ready(function (){
       /*$("#btn1").click(function (){
           $("h1:contains(3333)").css("background","red");
       })*/

      /* $("#btn1").click(function (){
           $("div:empty").css("background","red");
       })*/

        $("#btn1").click(function (){
           $("h1:has(.div01)").css("background","red");
       })

       //选择非空元素
      /* $("#btn1").click(function (){
           $("h1:parent").css("background","red");
       })*/
   })

  </script>

XML

“XML” 通常指的是 “eXtensible Markup Language”,它是一种用于标记电子文件使其具有结构性的标记语言。XML 被设计用来传输和存储数据。XML 文件以 .xml 扩展名结尾,并通常包含 <?xml> 声明,以及一系列的标签,这些标签用于定义数据的内容和结构。

<?xml version="1.0" encoding="utf-8" ?>
<books>
    <book sn="SN123441232">
        <name>牛马玩意</name>
        <price>0.2</price>
        <author>蓝少龙</author>
    </book>

    <![CDATA[纯文本内容,不需要解析]]>
    <book sn="SN123441231">
        <name>撒比东西</name>
        <price>0.6</price>
        <author>蓝少龙</author>
    </book>
</books>

XML解:解析前需添加三种jar包(dom4j,hamcrest-core,junit)

package com.atmxb.pojo;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;

import java.util.List;

public class dom4j {

    @Test
    public void test1() throws DocumentException {

        //创建SAXReader流 去读取xml配置文件 生成document对象
        SAXReader saxReader=new SAXReader();
        Document document = saxReader.read("D:\\Program Files\\JavaWeb_mxb\\xml\\src\\book.xml");
        System.out.println(document);


    }

    /*
    * 读取books.xml文件生成book类
    * */
    @Test
    public void test02() throws DocumentException {

        //1.读取book.xml文件
        SAXReader reader=new SAXReader();

        //在junit测试中 相对路径是从模块名开始算
        Document document = reader.read("src/book.xml");

        //2.通过document对象获取根元素
        Element rootElement = document.getRootElement();
        //System.out.println(rootElement);

        //3.通过根元素获取book标签对象  element()和elements()都是通过标签名查找子元素
        //如果标签名有多个 则需要复数形式
        List<Element> books = rootElement.elements("book");

        //4.遍历  处理每个book标签转换为book类
        System.out.println(" 书名   "+"价格  "+"作者");

        for (Element book : books) {
            String name = book.element("name").asXML();  //asXML()把标签对象转化为标签字符串
            //System.out.println(name);

            //elementText()可以直接获取标签中的内容
            String nametext = book.elementText("name");
            String pricetext = book.elementText("price");
            String authortext = book.elementText("author");


            System.out.println(nametext+" "+pricetext+" "+authortext);
            //获取标签属性
            String sn = book.attributeValue("sn");
            System.out.println(sn);
        }
    }
}

 笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/679781.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云sls 采集日志安装记录

参考阿里云给的安装文档 阿里云安装Logtail组件 注意这里&#xff0c;选择地域&#xff0c;是中国地域选中国&#xff0c;海外选海外即可 按照文档继续下去 修改配置文件./alibaba-cloud-log-all/values.yaml 所有的操作完成后&#xff0c;去控制台配置 以上操作的前提是…

数据可视化---使用matplotlib绘制高级图表(2)

题目一&#xff1a;绘制人口金字塔图 编写程序。根据第8.6&#xff0c;绘制如下图的人口金字塔图。 运行代码&#xff1a; #绘制人口金字塔图 import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] SimHei plt.rcParams[…

交互式流程图组件DHTMLX Diagram v6.0 - 拥有更灵活的高度可定制功能

DHTMLX Diagram库允许用几行代码构建JavaScript流程图&#xff0c;通过自动布局和实时编辑器&#xff0c;它可以更容易地将复杂数据可视化到一个整洁的层次结构中。 DHTMLX Diagram v6.0版本发布&#xff0c;带来了众多令人兴奋的新功能和改进&#xff0c;使得这个JavaScript图…

【SITS_CC】卫星图像时间序列的变化字幕(IEEE GRSL)

摘要 Satellite images time series (SITS) 提供了一种有效的方法来同时获取地球上观测区域的时间和空间信息。然而&#xff0c;传统的遥感CD方法的输出是二进制图或语义变化图&#xff0c;往往难以被最终用户解释&#xff0c;传统的遥感图像变化字幕方法只能描述双时图像。提…

ARM32开发——串口输出

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 需求串口数据发送串口打印实现复用功能串口发送流程&#xff08;了解&#xff09;串口的标志位关心的内容 需求 串口循环输出内容到…

AI生成PPT:一键式演示文稿制作的秘诀

工欲善其事&#xff0c;必先利其器。 随着AI技术与各个行业或细分场景的深度融合&#xff0c;日常工作可使用的AI工具呈现出井喷式发展的趋势&#xff0c;AI工具的类别也从最初的AI文本生成、AI绘画工具&#xff0c;逐渐扩展到AI思维导图工具、AI流程图工具、AI生成PPT工具、AI…

java 原生http服务器 测试JS前端ajax访问实现跨域传post数据

后端 java eclipse 字节流转字符 package Httpv3;import com.sun.net.httpserver.Headers; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer;import java.io.IOException; import java.i…

测试工具链

缺陷管理 bug管理工具 devops---项目管理--缺陷管理 bug管理地址 https://devsecops.mychery.com:8443/chery/project?filterROLE&statusACTIVE bug管理环境 采用公司的devops平台&#xff0c;对每个项目的bug进行管理。目前在使用 接口测试和服务端性能测试 工具…

Python-3.12.0文档解读-内置函数zip()详细说明+记忆策略+常用场景+巧妙用法+综合技巧

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 详细说明 基本用法 示例 特性 高级用法 注意事项 版本更新 示例代码 记忆策略…

「小明赠书活动」第五期“网安三剑客”套系图书《内网渗透技术》《渗透测试技术》《Web应用安全》

大模型风潮已掀起&#xff0c;各大巨头争相入局&#xff0c;从ChatGPT到Sora&#xff0c;全球的AI应用“卷出了花”。然而&#xff0c;网络安全人员在享受AI技术带来的便捷之余&#xff0c;也不得不面对一系列新兴的安全挑战&#xff0c;无法忽视。 ⭐️ 赠书 - 图书简介 人…

攻防世界---misc---Aesop_secret

1、下载附件一张动图&#xff0c;仔细观察发现它分成了很多小块&#xff0c;观察小块但是感觉又不像是二维码&#xff0c;可能需要把图片拼起来 2、用winhex分析&#xff0c;发现有一串编码&#xff0c;看编码的开头&#xff0c;猜测是AES加密 3、解码需要密码 4、想到刚刚的图…

MySQL——C语言连接数据库

MySQL Connection ​ 连接数据库的客户端除了命令行式的还有图形化界面版本&#xff0c;网页版本&#xff0c;当然也包括语言级别的库或者是包&#xff0c;能够帮助我们直接连接数据库&#xff1b; 一、语言连接库下载 方式一&#xff1a;不建议使用&#xff0c;需要自己配置…

RabbitMQ简介

一、安装和使用方式 1.https://www.erlang.org/ https://www.rabbitmq.com/ 2.先安装Erlang&#xff0c;管理员安装&#xff0c;在安装rabbitMQ&#xff0c;也是管理员安装&#xff0c;因为rabbitMQ是用Erlang语言开发的。且每个版本的RabbitMQ对应不同的Erlang版本&…

【深度学习】【机器学习】支持向量机,网络入侵检测,KDD数据集

文章目录 环境加载数据归一化数据训练模型用测试数据集给出评估指标准确率召回率预测某个输入数据随便取一行数据加载训练好的SVM支持向量机模型并预测 全部数据和代码下载 环境 之前介绍过用深度学习做入侵检测&#xff0c;这篇用向量机。 环境Python3.10 requirements.txt…

C++候捷stl-视频笔记3

算法的形式 Cmp通常是个比大小的准则&#xff0c;是Functor。 算法所需的信息通常指迭代器如何移动 迭代器的分类 array&#xff0c;vector&#xff0c;deque它们是连续的&#xff0c;它们的迭代器是Random Access Iterator/随机访问迭代器 list的迭代器是Bidirectional Itera…

如何微调出自己的大模型——LoRA原理解析

1、前言 上一篇文章&#xff0c;我们已经讲了隐扩散模型——Stable Diffusion生成大模型。这种大模型&#xff0c;参数量及其之大。你没有足够的算力资源&#xff0c;就只能够使用人家已经训练好的大模型。既然没有办法训练属于自己的模型&#xff0c;那我们就想&#xff0c;是…

小索引大力量,记一次explain的性能优化经历

在 MySQL 的生产环境中&#xff0c;性能问题是一个常见的挑战。当数据库查询响应时间变慢&#xff0c;或者系统资源消耗异常时&#xff0c;我们需要快速定位问题并进行优化。MySQL 提供了一个强大的工具——EXPLAIN&#xff0c;它可以帮助我们分析查询语句的执行计划&#xff0…

前后端实现文件上传进度条-实时进度

后端接口代码&#xff1a; PostMapping("/upload")public ResponseEntity<String> handleFileUpload(RequestParam("file") MultipartFile file) {try {// 获取文件名String fileName file.getOriginalFilename();// 创建上传目标路径Path targetPa…

读书笔记-Java并发编程的艺术-第2章 Java并发机制的底层实现原理

文章目录 2.1 volatile的应用2.1.1 volatile的定义与实现原理2.1.2 volatile的使用优化 2.2 synchronized的实现原理与应用2.2.1 Java对象头2.2.2 锁的升级与对比2.2.2.1 偏向锁2.2.2.2 轻量级锁2.2.2.3 锁的优缺点对比 2.3 原子操作的实现原理2.3.1 术语定义2.3.2 处理器如何实…

Linux 内存管理 SLUB 分配器

文章目录 前言一、SLUB allocator二、SLUB core参考资料 前言 本文来自&#xff1a;https://lwn.net/Articles/229984/ [Posted April 11, 2007 by corbet]SLAB分配器是用于处理“频繁分配和释放的对象”的对象缓存内核内存分配器。它是内存管理子系统中关键的一部分&#xf…