当前位置: 首页 > 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.lryc.cn/news/608425.html

相关文章:

  • [ LeetCode-----盛最多的水]
  • 如何快速解决PDF解密新方法?
  • SpringBoot启动项目详解
  • 丝杆升降机在物流运输领域有哪些应用场景
  • 大模型Agent记忆的主流技术与优缺点解析
  • 23th Day| 39.组合总和,40.组合总和II,131.分割回文串
  • 数据结构---概念、数据与数据之间的关系(逻辑结构、物理结构)、基本功能、数据结构内容、单向链表(该奶奶、对象、应用)
  • 模型 古德哈特定律(Goodhart’s law)
  • 跨语言AI服务指标收集实战
  • 【深度学习】【三维重建】windows11环境配置PyTorch3d详细教程
  • 智能图书馆管理系统开发实战系列(五):前后端集成 - koffi调用与接口设计
  • WAIC引爆AI,智元机器人收购上纬新材,Geek+上市,157起融资撑起热度|2025年7月人工智能投融资观察 · 极新月报
  • FreeRTOS源码分析一:task启动(RISCV架构)
  • 【图像处理基石】用Python实现基础滤镜效果
  • PCB铜浆塞孔工艺流程
  • 网页操作自动化解决方案:如何用Browser-Use+CPolar提升企业运营效率
  • openwrt下安装istore(基于pve)
  • CCF IVC 2025“汽车安全攻防赛” -- Crypto -- WriteUp
  • ESP2025年6月认证C++八级( 第三部分编程题(2)遍历计数)
  • 线程池的实现
  • 【python】转移本地安装的python包
  • 【语音技术】意图与语料
  • 从下单到发货:如何清晰表达发货时间
  • Python编程基础与实践:Python条件语句入门:掌握if, else, 和elif
  • Android动画实现控件形状、大小逐渐过渡
  • Agentic RAG:自主检索增强生成的范式演进与技术突破
  • Waterfox水狐浏览器、火狐浏览器外观修改
  • XGBoost三部曲:XGBoost参数详解
  • Store / Slice / Reducer
  • 利用DeepSeek将Rust程序的缓冲输出改写为C语言实现提高输出效率