JavaScript系列--XML(二)
JavaScriptXML -- 系列
2023-09-27 14:25:56 时间
DTD
多叉树结合JavaScript树形组件实现无限级树形结构(一种构建多级有序树形结构JSON(或XML)数据源的方法) 如何将数据库中的层次数据转换成对应的层次结构的JSON或XML格式的字符串,返回给客户端的JavaScript树形组件?这就是我们要解决的关键技术问题。
一种简单的约束技术
流程
引入文档到xml文档
内部dtd 将约束规则定义在xml文档中
外部dtd 将约束的规则定义在外部的dtd文件中
引入方式
本地: .lDOCTYPE根标签名SYSTEM“dtd文件的位置
网络:
?xml version 1.0 encoding UTF-8 ? !--引入-- !DOCTYPE students SYSTEM student.dtd students student number s001 name zs /name age 23 /age sex male /sex /student student number s002 name ls /name age 24 /age sex female /sex /student /students
!ELEMENT students (student*) !ELEMENT student (name,age,sex) !ELEMENT name (#PCDATA) !ELEMENT age (#PCDATA) !ELEMENT sex (#PCDATA) !ATTLIST student number ID #REQUIRED
复杂的约束技术
基于DTD多了一些限制
操作xml文档 将文档中的数据读取到内存中
1 解析(读取) 将文档中的数据读取到内存中
2 写入 将内存中的数据保存到xml文档中。持久化的存储*
1.DOM∶将标记语言文档一次性加载进内存 在内存中形成一颗dom树
优点:操作方便 可以对文档进行CRUD的所有操作
缺点:占内存
2.SAX︰逐行读取 基于事件驱动的。
优点:不占内存。
缺点:只能读取 不能增删改
JAXP SUN公司提供的解析器 支持dom和sax两种
DOM4J 优秀的解析器
Jsoup jsoup 是一款Java 的HTML解析器 可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API 可通过DOM CSS以及类似于jQuery的操作方法来取出和操作数据。
PULL Android系统内置的
入门
1 导入jar包
2 获取Document对象
3 获取对应的标签Element对象
4 获取数据
实例
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; import java.net.URL; public class JsoupDemo01 { public static void main(String[] args) throws IOException { //1.获取Document对象 根据xml文档获取 //获取student.xml的path String path JsoupDemo01.class.getClassLoader().getResource( student.xml ).getPath(); //2.解析xml文档 Document document Jsoup.parse(new File(path), utf-8 //3 获取元素对象 Element,返回的其实是一个集合 Elements elements document.getElementsByTag( name // System.out.println(elements.size()); Element element elements.get(0); //4.获取数据 String name element.text(); System.out.println(name); }
对象的使用
多叉树结合JavaScript树形组件实现无限级树形结构(一种构建多级有序树形结构JSON(或XML)数据源的方法) 如何将数据库中的层次数据转换成对应的层次结构的JSON或XML格式的字符串,返回给客户端的JavaScript树形组件?这就是我们要解决的关键技术问题。
相关文章
- JavaScript字符串
- JavaScript的注入引出技术诈骗
- javascript中new Date()的浏览器兼容性问题
- JavaScript 常用事件大全
- 使用Sinon和Rewire对JavaScript中的私有方法进行单元测试
- JavaScript依赖注入的实现思路
- TypeScript – Work with JavaScript Library (using esbuild)
- JavaScript – CommonJS
- JavaScript 脚本编译与执行过程简述
- 【笔记】再学JavaScript ES(6-10)全版本语法——ES10新增
- JavaScript(JS) firebase 报错:TypeError: Cannot read properties of undefined (reading 'app')解决方法
- 玩转JavaScript正则表达式
- javascript 日常总结
- JavaScript实现绑定DOM的定时器插件
- 使用JavaScript闭包,以工厂模式实现定时器对象
- Javascript原型继承 javascript
- 自定义javascript日历控件