JavaScript系列--XML(三)
JavaScriptXML -- 系列
2023-09-27 14:25:56 时间
jsoup
多叉树结合JavaScript树形组件实现无限级树形结构(一种构建多级有序树形结构JSON(或XML)数据源的方法) 如何将数据库中的层次数据转换成对应的层次结构的JSON或XML格式的字符串,返回给客户端的JavaScript树形组件?这就是我们要解决的关键技术问题。
工具类 可以解析xml或html文档 返回document
//1.获取student.xml的path String path JsoupDemo02.class.getClassLoader().getResource( student.xml ).getPath(); //2.解析xml文档 加载文档进内存 获取dom树 Document document Jsoup.parse(new File(path), utf-8 System.out.println(document); //2.parse (String html):解析xml或html字符串 String str ?xml version \ 1.0\ encoding \ UTF-8\ ? \n students \n student number \ s001\ \n name zs /name \n age 23 /age \n sex male /sex \n /student \n /students Document document1 Jsoup.parse(str); System.out.println(document1);
代表内存中的dom树
获取Element对象
getElementById(string id)∶根据id属性值获取唯一的element对象
getElementsByTag(string tagNarle):根据标签名称获取元秦对象集合
getElementsByAttribute(String key)∶根据属性名称获取元秦对象集合
getElementsByAttributevalue(string key string value):根据对应的属性名和属性值获取元秦对象集合
package xml.jsoup; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import java.io.File; import java.io.IOException; public class JsoupDemo03 { public static void main(String[] args) throws IOException { //1。获取stuent.xml的path String path JsoupDemo02.class.getClassLoader().getResource( student.xml ).getPath(); //2.获取document对象 Document document Jsoup.parse(new File(path), utf-8 //3.获取元素对象 获取所有student对象 Elements elements document.getElementsByTag( student System.out.println(elements); System.out.println( ------ //4.获取属型名为id的元素对象们 Elements elementsByAttribute document.getElementsByAttribute( 007 System.out.println(elementsByAttribute); System.out.println( ------ //5.获取number属型为s001的对象们 Elements elementsByAttributeValue document.getElementsByAttributeValue( number , s001 System.out.println(elementsByAttributeValue); }
元素Element对象的集合。可以当做ArrayList来使用
1.获取子元素对象
getElementById(string id)∶根据id属性值获取唯一的element对象
getElementsByTag(string tagNarle):根据标签名称获取元秦对象集合
getElementsByAttribute(String key)∶根据属性名称获取元秦对象集合
getElementsByAttributevalue(string key string value):根据对应的属性名和属性值获取元秦对象集合
2.获取属型值
string attr(string key):根据属性名称获取属性值
3.获取文本内容
string text():获取文本内容
string html():获取标签体的所有内容(包括字标签的字符串内容)
?xml version 1.0 encoding UTF-8 ? students student number s001 name id 007 zs /name age 23 /age sex male /sex /student student number s002 name zs /name age 23 /age sex male /sex /student /students
package xml.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 JsoupDemo04 { public static void main(String[] args) throws IOException { //1。获取stuent.xml的path String path JsoupDemo02.class.getClassLoader().getResource( student.xml ).getPath(); //2.获取document对象 Document document Jsoup.parse(new File(path), utf-8 //通过Document对象获取name标签 获取的是所有name标签 可以获取到两个 Elements name document.getElementsByTag( name System.out.println(name.size()); System.out.println( ------------- //通过Element对象获取子标签对象 Element student0 document.getElementsByTag( student ).get(0); Elements name1 student0.getElementsByTag( name System.out.println(name1.size()); //获取student对象的属型值 String number student0.attr( number System.out.println(number);//s001 //获取文本内容 String text name1.text();//获取的是纯文本 String html name1.html(); System.out.println(html);//所有标签体的内容 System.out.println(text); }
是Document和Element的父类
快捷查询方式
selector选择器
使用的方法:Elements
select( string cssQuery)
语法:参考selector类中定义的语法
XPath
package xml.jsoup; import cn.wanghaomiao.xpath.exception.XpathSyntaxErrorException; import cn.wanghaomiao.xpath.model.JXDocument; import cn.wanghaomiao.xpath.model.JXNode; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import java.io.File; import java.io.IOException; import java.util.List; public class JsoupDemo05 { public static void main(String[] args) throws IOException, XpathSyntaxErrorException{ //1。获取stuent.xml的path String path JsoupDemo02.class.getClassLoader().getResource( student1.xml ).getPath(); //2.获取document对象 Document document Jsoup.parse(new File(path), utf-8 //3.根据document对象 创建xpathdocument对象 JXDocument jxDocument new JXDocument(document); //4.结合xpath语法查询 List JXNode jxNodes jxDocument.selN( //student/name for (JXNode jxNode:jxNodes){ System.out.println(jxNode); }
多叉树结合JavaScript树形组件实现无限级树形结构(一种构建多级有序树形结构JSON(或XML)数据源的方法) 如何将数据库中的层次数据转换成对应的层次结构的JSON或XML格式的字符串,返回给客户端的JavaScript树形组件?这就是我们要解决的关键技术问题。
相关文章
- Javascript中call的使用
- javascript中的XML
- Google Earth Engine(GEE)——JavaScript基本功能介绍(矢量集合特征的简单计算)
- 基于 JavaScript 的操作系统你听说过吗?
- 【思维导图】前端开发JavaScript-巩固你的JavaScript知识体系
- Javascript模块化编程之路——(require.js)
- 《网页设计与前端开发 Dreamweaver+Flash+Photoshop+HTML+CSS+JavaScript 从入门到精通》——1.2 网页的基本构成元素
- 《编写可测试的JavaScript代码》——第1章 可测试的JavaScript 1.1 现有技术
- Java学习-063-Jsoup 请求页面 Content-Type 解析失败:org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml . Mimetype=application/javascript
- JavaScript基础知识总结——作用域和预解析
- 华为OD机试 - GPU调度(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
- 百度地图 获取当前位置 添加标记物等基础使用 JavaScript API
- javascript面向对象之Object.defineProperty(a,b,c)