zl程序教程

您现在的位置是:首页 >  前端

当前栏目

JavaScript系列--XML(二)

JavaScriptXML -- 系列
2023-09-27 14:25:56 时间
DTD


一种简单的约束技术


流程


引入文档到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 


Schema


复杂的约束技术


基于DTD多了一些限制


解析


操作xml文档 将文档中的数据读取到内存中


1 解析(读取) 将文档中的数据读取到内存中


2 写入 将内存中的数据保存到xml文档中。持久化的存储*


解析xml的方式:


1.DOM∶将标记语言文档一次性加载进内存 在内存中形成一颗dom树


优点:操作方便 可以对文档进行CRUD的所有操作


缺点:占内存


2.SAX︰逐行读取 基于事件驱动的。


优点:不占内存。


缺点:只能读取 不能增删改


解析器


JAXP SUN公司提供的解析器 支持dom和sax两种


DOM4J 优秀的解析器


Jsoup jsoup 是一款Java 的HTML解析器 可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API 可通过DOM CSS以及类似于jQuery的操作方法来取出和操作数据。


PULL Android系统内置的


Jsoup


入门


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树形组件?这就是我们要解决的关键技术问题。