博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XML文档
阅读量:4575 次
发布时间:2019-06-08

本文共 1446 字,大约阅读时间需要 4 分钟。

XML文档一般分为以下几个部分:

  • 文档声明;
  • 元素;
  • 属性
  • 注释
  • CDATA区,特殊字符
  • 处理指令

1.文档声明

<?xml version="1.0" encoding="utf-8" standalone="no" ?>//standalone默认为no,指与其他文档关联,但意义不大。

放在首行。

2.每个XML必须有且只有一个根元素,包裹所有其他元素。

php解析XML文档的时候,文档内容的换行及空格都会被解析,特别注意。<name>张三</name>与<name>  张三 </name>不一样。

元素命名规则:

    •   区分大小写;
    • 不能以数字或者下划线开头
    • 不能以XML或xml开头
    • 不能包含空格
    • 名字中间不能包含冒号

3.元素的属性值

元素的属性值中出现了<>&‘ “等,可以使用字符实体

< &lt;    >--&gt;    &--&amp;    '---&apos; "---&quot;           后面的分号必须带上,然后以双引号裹起来  

特殊字符处理:

@%……%¥……

<![CDATA[特殊字符]]>可以存储图像文件的二进制文本,保存一个图像。

4.处理指令

<?xml-stylesheet href=”css.css” ?>可以自定义xml文件的显示效果,与htmlcss用法类似。

5.DTD document type defination文档类型定义

DTD文件时XML文件约束的一种方式,另一种是Schema技术。DTD也可以约束HTML或者XHTML

引入外部DTD的方法。

<!DOCTYPE 根元素名 SYSTEM 文档路径>

引入公共的DTD文件

<!DOCTYPE 根元素名 PUBLIC  DTD名称 DTD.URL

内部DTD的方法

<!DOCTPYE 根元素  [

DTD定义的内容

 

]>

6.DTD的语法

利用ELEMENT关键字 定义元素。

<!ELEMENT   NAME   CONTENT>

NAME是元素的名称,是自己定义的。CONTENT是元素的类型分为以下三种

EMPTY--不能包含子元素和文本,但可以有属性<br/>,即空标签

ANY--包含任何在DTD中定义的元素内容。

#PCDATA,可以包含任何字符数据,但是不能在其中包含子元素和其他类型。(即不能 有子元素)

 

对元素的修饰,组合分组.

<!ELEMENT   NAME(NAME1?, NAME2+,NAME3*) >

?表示0或者1个,+表示至少一个,*号表示0个或多个,逗号表示元素定义顺序。

|表示选择。

定义属性列表。

<!ATTILIST 元素名称

属性名称 类型 属性特点

>

类型

CDATA      属性值可以是字符或者数字

ID           属性值唯一,并且以字母开头

IDREF/IDREFS   ID引用

Enumerated      枚举,不能超出枚举范围

ENTITY/ENTITIES  实体

------------》实体定义

1.引用实体:在dtd中定义<!ENTITY  en “content” >

xml文件中引用&en;即可

2.参数实体:<! ENTITY  %  实体名称 “实体内容”>

dtd文件中自己使用 %实体名称;

 

特点

#REQUIRED //必须有

#IMPLIED   //可有可无

#FIXED value //固定值

Default value  //默认值

 

 

 

           

转载于:https://www.cnblogs.com/kimmychul/p/3949458.html

你可能感兴趣的文章
Spark常用算子详解
查看>>
JAVA_桥接模式
查看>>
C语言 strcpy,memcpy,memmove,memccpy函数
查看>>
C语言一个小程序的bug疑问 数组相关[已解决]
查看>>
几种排序算法(PHP版)
查看>>
数据库字段数据类型对索引的影响
查看>>
mesos cluster
查看>>
Altium Designer 中差分走线
查看>>
linux 解压缩命令
查看>>
GDUT校赛
查看>>
(HDU)1076 --An Easy Task(简单任务)
查看>>
团队精神与集体主义的区别?
查看>>
Spring Boot 入门(Spring Cloud方向)
查看>>
AngularJS(九):路由
查看>>
GPS.NET 和 GeoFramework开源了
查看>>
汇编:采用址表的方法编写程序实现C程序的switch功能
查看>>
AtiveMQ初次连接的 http error:503 连接错误 Prolem accessing /.Reason : Service Unavailable...
查看>>
OFO和摩拜共享单车
查看>>
Linux软件安装管理之1——rpm命令管理
查看>>
关于 Failed to establish a new connection: [Errno 11004] getaddrinfo failed',))的问题
查看>>