当前位置: 首页 > news >正文

(1-8-1) Java -XML

目录

0. 前置小节

1. XML的 介绍 与 用途

1.1 XML 是什么

1.2 XML 的用途

1.3 XML 的文档结构

(1) XML 的声明

(2) XML必须拥有 根标签

(3)XML标签的 书写规则

1.4 创建XML 文件

2. XML 语义约束

2.1 DTD

 (1) DTD 定义

(2) DTD 定义节点

(3)XML 引用DTD 文件

2.2 XML schema

(1)编写phdvb.xsd文件

(2)编写schema文件


0. 前置小节

  • XML 介绍 与 用途
  • XML 语法规则
  • XML 语义约束

1. XML的 介绍 与 用途

1.1 XML 是什么

1.2 XML 的用途

1.3 XML 的文档结构

(1) XML 的声明

(2) XML必须拥有 根标签

(3)XML标签的 书写规则

(3-1)合法的标签名

(3-2)适当的注释与缩进


(3-3)合理使用属性

(3-4) 处理特殊字符

(3-5)有序的子元素

1.4 创建XML 文件

<?xml version="1.0" encoding="UTF-8" ?>
<!--公司员工数据-->
<vb><emplyee no = "2205"><name>phdvb</name><age>24</age><salary>4500</salary><department><dname>技术部门</dname><address>克拉玛依职业技术学院</address></department></emplyee><emplyee no = "2206"><name>phdvc</name><age>25</age><salary>4900</salary><department><dname>技术部门2</dname><address>中国石油大学</address></department></emplyee>
</vb>

在浏览器中打开xml

2. XML 语义约束

2.1 DTD

 (1) DTD 定义

(2) DTD 定义节点

DTD定义节点数量

(3)XML 引用DTD 文件

 (3-1)编写 phdvb.dtd 文件

<?xml version="1.0" encoding="UFT-8" ?>
<!--DTD语义约束-->
<!ELEMENT vb (emplyee+)>
<!ELEMENT emplyee (name, age, salary, department)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT salary (#PCDATA)>
<!ELEMENT department (dname, address)>
<!ELEMENT dname (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ATTLIST emplyee no CDATA "">

(3-2)XML 进行 引用

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE vb SYSTEM "phdvb.dtd">
<!--公司员工数据-->
<vb><emplyee no = "2205"><name>phdvb</name><age>24</age><salary>4500</salary><department><dname>技术部门</dname><address>克拉玛依职业技术学院</address></department></emplyee><emplyee no = "2206"><name>phdvc</name><age>25</age><salary>4900</salary><department><dname>技术部门2</dname><address>中国石油大学</address></department></emplyee>
</vb>

2.2 XML schema

(1)编写phdvb.xsd文件

<?xml version="1.0" encoding="UTF-8" ?>
<schema xmlsn = "http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.phdvb.com/vbXM-rules" elementFormDefault="qualified"><element name="vb"><complexType><sequence><!--定义元素的数量--><element name="emplyee" minOccurs="1" maxOccurs="9999"><complexType><sequence><element name="name" type="string"></element><element name="age"><!--定义年龄的范围--><simpleType><restriction base="integer"><minInclusive value="18"></minInclusive><maxInclusive value="65"></maxInclusive></restriction></simpleType></element><element name="salary" type="integer"></element><element name="department"><complexType><sequence><element name="dname" type="string"></element><element name="address" type="string"></element></sequence></complexType></element></sequence><attribute name="no" type="string" use="required"></attribute></complexType></element></sequence></complexType></element>
</schema>
(2)编写schema文件

<?xml version="1.0" encoding="UTF-8" ?>
<!--公司员工数据-->
<vb xmlns="http://www.phdvb.com/vbXM-rules"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.phdvb.com/vbXM-rules phdvb.xsd"><emplyee no = "2205"><name>phdvb</name><age>24</age><salary>450</salary><department><dname>技术部门</dname><address>克拉玛依职业技术学院</address></department></emplyee><emplyee no = "2206"><name>phdvc</name><age>25</age><salary>4900</salary><department><dname>技术部门2</dname><address>中国石油大学</address></department></emplyee>
</vb>

http://www.dtcms.com/a/311179.html

相关文章:

  • 关于Web前端安全防御XSS攻防的几点考虑
  • Unity_数据持久化_XML存储相关
  • 第三十九章:AI导演的“魔法时间轴”:文生视频与Video Latent扩散结构
  • [ LeetCode-----盛最多的水]
  • c++ 链表知识汇总
  • FreeRTOS源码分析一:task创建(RISCV架构)
  • 【Pytorch✨】LSTM 入门
  • 用 Qt 打造优雅的密码输入框:添加右侧眼睛图标切换显示
  • 云环境K8s集群WebSocket连接失败解决方案
  • 深入解析 <component :is> 在 Vue3 组合式中的使用与局限
  • 关于Web前端安全防御之点击劫持的原理及防御措施
  • Docker容器中文PDF生成解决方案
  • JavaScript特殊集合WeakMap 的使用及场景介绍
  • C++ lambda表达式与线程库
  • String boot 接入 azure云TTS
  • 20250802安装CP2102N的驱动程序(适配飞凌的OK3576-C)
  • 如何在Ubuntu上部署excalidraw
  • Seal Report:一款免费开源的报表工具
  • 使用 BERT 的 NSP 实现语义感知切片 —— 提升 RAG 系统的检索质量
  • 计算机网络:什么是任播
  • 【计算机网络】Socket网络编程
  • 从零开始构建AI Agent评估体系:12种LangSmith评估方法详解
  • QUdpSocket 详解:从协议基础、通信模式、数据传输特点、应用场景、调用方式到实战应用全面解析
  • Linux网络编程【基于UDP网络通信的字典翻译服务】
  • M|银翼杀手
  • Web 开发 10
  • K8s+Nginx-ingress+Websocket基础知识理解
  • 系统思考:超越线性分析
  • python创建一个excel文件
  • MyBatis 批量操作 XML 实现方式