首页 > 编程知识 正文

XML文档(一)

时间:2023-05-05 01:22:59 阅读:272779 作者:3006

由于在现代开发过程中,不需要开发人员手动解析XML文档,因此本次课程的主要目的是了解xml文档以及,xml约束文档的内容

XML编程语言 可扩展编程语言两个特点: 在编写命令上,以标签为单位实现就固定好的指令 历史:诞生于1996年,在2004年进行一次更新。语法版本号升级1.1,现在用的是1.0xml文档的作用:最初xml文档是作为【网页】来使用的,后来被所有浏览器厂商抛弃,就因为可扩展的问题,不同的人写的可能有不同的用处,没办法解析;现在在Java程序中使用,使用xml文档来代替properities作为配置文件 XML语法 HTML 是从XML演化出来的一种编程语言。二者是父子关系HTML绝大多数语法都来自XML一个XML文档必须以一个根目录标签为开始,其他的标签都必须作为【根目录标签】的直接子标签或间接子标签 <school><student> <member name="zains"></member></student></school>

为什么会被Java捡起来呢?比如说要存放多个数据库的配置信息,这样就可以判断出哪个数据是在哪个数据库里的,所属关系非常清晰。
4. HTML对英文字母的大小写是不区分的,但是XML是区分的,必须保持一致。
5. 在HTML中属性内容可以用双引号“”包含,也可以不用;XML的属性内容必须在一对双引号或者单引号中

XML文档读取方式 SAX读取方式:根据开发人员需要,一次将当前文档中若干个满足需要的标签加载到内存中 优点:节省内存缺点:如果需要读取大量标签信息的时候运行效率比较低,因为每次都读取一个标签,可读取较小的xml文档 DOM读取方式:一次性将所有xml文档内容加载到内存中 优点:读取大量标签信息的时候,此时由于是在内存中进行定位缺点:浪费内存 实际都使用DOM方式读取 XML约束文档 XML文档约束文档的作用:
设置可以在当前XML文档中声明的【标签类型名】
设置可以在标签中出现的【属性名】
设置标签之间父子关系和兄弟关系xml约束文档分类

(1) DTD约束文档【.dtd】:简单约束文档(也是一种xml文档)
定义了哪些标签可以在当前文档中使用,定义了可以使用的属性,怎么绑定呢?

<!DOCTYPE name SYSTEM "name">

把这个放在需要这个约束的xml文档中即可。
如何去看约束?
<!ELEMENT>

<!ELEMENT 标签类型名(括号里面显示的是可以在当前标签内部出现的子标签)>:标签类型名称,可以声明当前的xml文档中可以声明的标签名称 <!ELEMENT 标签类型名 (子标签名+)>:当前子标签必须出现在父标签内部,并且可以出现多次 <!ELEMENT 标签类型名 (子标签名?)>:表示当前的子标签可以出现在父标签内部也可以不出现/而且如果出现只能出现一次 <!ELEMENT 标签类型名 (#PCDATA)>:表示当前标签没有子标签【一般在这种标签当中填充文字内容】 <!ELEMENT 标签类型名 (子标签名*)>:表示当前的子标签可以出现在父标签内部也可以不出现/如果出现的话可以出现多次 <!ELEMENT 标签类型名 (子标签名)>:表示这个子标签必须出现在父标签内部/且只能保存一次 <!ELEMENT 标签类型名 ((子标签名|子标签名2))>:这两个子标签必须出现在父标签中,但是不能同时出现 <!ELEMENT 标签类型名 (子标签名1,子标签名2)>:子标签1和子标签2的顺序必须保持声明的时候的顺序

<!ATTLIST>

<!ATTLIST 标签类型名 属性名>:声明可以在当前标签内部可以使用的属性名称

(2)SCHEMA约束文档【.xsd】:高级约束文档

以标签的形式来进行约束,最大的特点是支持前缀名,导入之前把xsd文件的前面注释部分直接copy到要约束的xml文件中即可。
⚠️在同一个文档中不能有两种xml约束文档

SCHEMA和DTD的区别 dtd文档如果两个文档对同一个xml文件进行约束的时候如果其中有两个相同的名字的标签的话,会出现问题。但是在SCHEMA文档中支持前缀名<one:body>. <two:body>,这样就可以进行区分但是其实一个xml文档都是只有一个xml文档约束,而且大多数都用SCHEMA

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。