网络编程之XML2022-06-19

 #博学谷IT学习技术支持#

个人笔记后续会进行内容改进


xml

后期主要是用来做配置文件的

<?xml version="1.0" encoding="utf-8">

<students>

<student id="1">

<name>@@</name>

<age>56</age>

</student>

<student id="2">

<name>@@</name>

<age>56</age>

</student>

</students>


语法规则

XML文件的后缀名为:xml

文档声明必须是第一行第一列

<?xml version="1.0" encoding="UTF-8" standalone="yes”?>version:该属性是必须存在的encoding:该属性不是必须的

打开当前xml文件的时候应该是使用什么字符编码表(一般取值都是UTF-8)

standalone: 该属性不是必须的,描述XML文件是否依赖其他的xml文件,取值为yes/no

必须存在一个根标签,有且只能有一个

XML文件中可以定义注释信息

XML文件中可以存在以下特殊字符

xml解析

常见的解析工具

JAXP: SUN公司提供的一套XML的解析的API

JDOM: 开源组织提供了一套XML的解析的API-jdom

DOM4J: 开源组织提供了一套XML的解析的API-dom4j,全称:Dom For Java

pull: 主要应用在Android手机端解析XML


dom解析分为四步:1、document 2、element 3、attribute 4、text

xml文件约束

什么是约束

用来限定xml文件中可使用的标签以及属性

1、dtd

2、schema

DTD语法

定义元素

定义一个元素的格式为:<!ELEMENT 元素名 元素类型>简单元素:

EMPTY: 表示标签体为空

ANY: 表示标签体可以为空也可以不为空

PCDATA: 表示该元素的内容部分为字符串

复杂元素: 直接写子元素名称. 多个子元素可以使用","或者"|"隔开; ","表示定义子元素的顺序 ; "|": 表示子元素只能出现任意一个 "?"零次或一次, "+"一次或多次, "*"零次或多次;如果不写则表示出现一次

<!ELMENT students (student))>

<!ELMENT student (naem,age))>

<!ELMENT name (#PCDATA))>

<!ELMENT age (#PCDATA))>

dtd定义属性

格式

定义一个属性的格式为:<!ATTLIST 元素名称 属性名称 属性的类型 属性的约束>属性的类型: CDATA类型:普通的字符串

属性的约束:

// #REQUIRED: 必须的 // #IMPLIED: 属性不是必需的 // #FIXED value:属性值是固定的

<!ATTLIST student id CDATA #EQUIRED>


schema语法,格式

1,创建一个文件,这个文件的后缀名为.xsd。

2,定义文档声明

3,schema文件的根标签为: <schema>

4,在<schema>中定义属性: xmlns=http://www.w3.org/2001/XMLSchema

5,在<schema>中定义属性 : targetNamespace =唯一的url地址,指定当前这个schema文件的名称空间。

6,在<schema>中定义属性 : elementFormDefault="qualified“,表示当前schema文件是一个质量良好的文件。

7,通过element定义元素

8,判断当前元素是简单元素还是复杂元素


<schema

xmlns="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://xuzuodi"

elemnetForDefault="qualified">

<elmeent name="students">

<complextype>

<sepuence>

<element name="student">

<complextype>

<sepuence>

<element name="name" type="string"></element>

<element name="age" type="string"></element>

...

...

<!attribute name="id" type="string" use="required"></attribute>

...

...

...

</element>

</schema>

xml引入dtd:

三种方式:

1、本地引入


2、文件内引用(dtd和xml在同一文件)

<!ELMENT students (student))>

<!ELMENT student (naem,age))>

<!ELMENT name (#PCDATA))>

<!ELMENT age (#PCDATA))>

]>

3、网路引入

xml引入schema

在xml中编写三行

xmlna:xls="http://www.w3.org/2001/XMLSchema-intface"

xmlns="http://xuzuodi"

xls:schemaLocation="http://xuzuodi student.xsd"


xml引入schema:

1,在根标签上定义属性xmlns="http://www.w3.org/2001/XMLSchema-instance"

2,通过xmlns引入约束文件的名称空间

3,给某一个xmlns属性添加一个标识,用于区分不同的名称空间 格式为: xmlns:标识=“名称空间地址” ,标识可以是任意的,但是一般取值都是xsi

4,通过xsi:schemaLocation指定名称空间所对应的约束文件路径 格式为:xsi:schemaLocation = "名称空间url 文件路径“

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • XML; 是什么? Extensible Markup Languare 可扩展标记型语言 为什么要有XML? 1...
    _Levi__阅读 1,396评论 1 0
  • 一、XML简介 XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记...
    钟离惜阅读 419评论 0 0
  • 1、简介 XML(EXtensible Markup Language)可扩展标记语言,标签都是自定义,并且语法严...
    阳春三月594阅读 360评论 0 1
  • 1:xml的概述 1.1 xml是什么 标记语言:语言中出现了 的标签 a:HTML 超文本标记语言 (语法非...
    小小一技术驿站阅读 432评论 0 0
  • 学会了简单的DTD文档编写后,再去认识schema文档就容易了。Schema是DTD的替代者,因为更强大,而且基...
    北荒客阅读 506评论 0 1