XML简单学习

XML简单概述

1.Extensible Markup language可扩展标记语言;

2.作用:具有层次性的描述有关系的数据;

  体现在:描述数据关系;软件配置,以描述程序模块之间的关系;

语法介绍

1.文档声明:

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

注意编码的统一性 储存在内存中的编码格式,与解析器打开的两者统一

2.元素:element

成对标签 <label>pcdata</lable>

元素属性
也可以理解或写成子元素;对XML标签中出现的所有空格和换行,XML解析程序都会当做是标签内容处理

3.注释:

<!-- 局部注释 -->

<!--
...大段注释
...
-->

4.不解析的部分:当做原始内容直接输出

<![CDATA[内容]]>

5.处理指令:

用来指挥解析器如何解析文档的内容,如:xml文档中可以用xml-stylesheet指令来通知xml解析引擎,引用css文件来显示xml文档内容:

<? xml-stylesheet type="text/css"
href="1.css"?>

------------------简单例子--------------------------------

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<menu>
<!--this is a menu-->
<![CDATA[
with it was;
]]>

<vegetables>
<name>
蔬菜
</name>
<vegetable>
<cabbage>白菜</cabbage>
<carrot>萝卜</carrot>
</vegetable>

</vegetables>

<fruits>
<name>
水果
</name>
<fruit>
<apple>苹果</apple>
<banana>香蕉</banana>
</fruit>
</fruits>

</menu>

XML的dtd约束

1.约束--->   编写来约束其书写规范

dtd文件:document type
definition,写一个文档来约束xml文档的元素组成,规定其书写  .dtd后缀名;

2.元素类型:element

<!ELEMENT 约束元素名(子属性,,,)>

在XML文件中如何引入:

<!DOCTYPE 文档根节点 SYSTEM "dtd文件.dtd">

3.元素属性说明 attribute

<!ATTLIST 元素名
  属性名 属性值类型 设置说明

  属性名 属性值类型 设置说明
>

如:

<!ATTLIST 商品
  类别 CDATA
#REQUIRED
  颜色 #IMPLIED
>

1.设置说明

REQUIRED 必须有此属性,
IMPLIED 可有可不有
FIXED
属性固定值
默认值

2.属性值类型:id ,enumerated ,entity, cdata

  .............

实体定义:为一段内容创建一个别名,以后可以用此别名来在文档中代替原来内容,

引用实体:在xml文档中被引用,

<!ENTITY 实体名称 "引用实体内容">

参数实体:在dtd文件中被引用可以做到复用的作用

!ENTITY % 实体名称 "参数实体内容">

3.为了清除的看到DTD对有其引入的XML文件进行约束,可在MyEclipse自动检测

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % has "yes|no|true|false">
<!ENTITY blank "[ ]">
<!ENTITY % common-attributes
"name CDATA #REQUIRED
id ID #REQUIRED
price CDATA #REQUIRED
description CDATA #IMPLIED
has (%has;) #REQUIRED"
>

<!ELEMENT goods (clothes*,shoes?)>
<!ATTLIST goods shop-name CDATA #REQUIRED>

<!ELEMENT clothes (jean*,shirt*)>
<!ELEMENT jean (#PCDATA)>
<!ELEMENT shirt (#PCDATA)>

<!ATTLIST jean %common-attributes;>
<!ATTLIST shirt %common-attributes;>


goods.dtd

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE goods SYSTEM "goods.dtd">
<goods shop-name="best">
<clothes>
<jean has="no" name="jean1" price="111" id="jean1"></jean>
<jean has="yes" name="33" price="33" id="jean2"></jean>
<shirt has="yes" name="hehe" price="0.0" id="ee">&blank;</shirt>
</clothes>

</goods>


goods.xml

XML的schema约束

  ---详细见W3C

--是一种定义和描述xml文档结构和内容的模式语言,其出现是为了克服dtd的局限性;

1.VS
 DTD:

1 符合xml语法格式
2 Dom,sax XmlAPI很容易解析出XML
Schema中的内容
3 约束强大,更多数据类型,还可以定义自己的数据类型
4 当不能定义实体,有自己的方式。

2.语法简介:命名空间的引入,、

1.simpleType元素 约束

元素:<xs:element name="ElementName"
type="DataTypeOfElement">

---DataTypeOfElement

xs:string
xs:decimal
xs:integer
xs:boolean
xs:date
xs:time

属性:<xs:attribute name="attributeName"
type="attributeValueType">

属性值说明包括:默认default  指定fixed 必选required

元素限定:

限定的类型基于:

<xs:restriction
base="xs:string/integer/boolean/date/time/decimal">

限定的内容or:maxInclusive minInclusive
enumeration、,,,

  <xs:minInclusive value="0"/>

  <xs:maxInclusive value="110"/>

   <xs:enumeration value="apple"/>

<xs:enumeration value="banana"/>

<xs:pattern value="[A-Z][A-Z][A-Z]"/>

</xs:restriction>

类似实体的复用:

<xs:element name="name"
type="nameValue"/>

<xs:simpleType name="nameValue">

<xs:restriction base="xs:string">
<xs:pattern
value="[a-zA-Z0-9]{8}"/>

</xs:restriction>
</xs:simpleType>

2.复杂元素的 约束:合元素指包含其他元素及/或属性的 XML 元素。

<xs:complexType>
、、</xs:complexType>
<xs:sequence> </xs:sequence>

等等........

3.类型指示器:

Order:all choice
Sequence
Occurrence:Maxoccur minoccur
Group:Group name
attributeGroup name

3.简例:


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

<!--
xmlns="http://www.w3.org/2001/XMLSchema
来自外界的命名空间,
是否默认来确定是否有书写当前模式文件的前缀命名
targetNamespace="http://www.example.org/letter"
自身作为其他xml目标文件约束的命名空间

-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/letter"
elementFormDefault="qualified">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string" />
<xs:element name="from" type="xs:string" />
<xs:element name="heading" type="xs:string" />
<xs:element name="body" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>


<?xml version="1.0" encoding="UTF-8"?>
<!--
xmlns="default namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="{namespace} {location}"
-->
<note xmlns="http://www.example.org/letter"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/letter letter.xsd"
>
<to>逗B</to>
<from>猴子</from>
<heading>呵呵</heading>
<body>呵呵呵呵</body>
</note>

XML简单学习

时间: 2024-08-05 16:30:23

XML简单学习的相关文章

varnish简单学习

操作系统:redhat5.5 前端服务器:varnish cache 2.1.5 监听端口8080 后端服务器:tengine 1.4.6 监听端口80 接着,建立varnish用户以及用户组,并且创建Varnish缓存目录和日志目录:[[email protected] ~]#useradd  -s /sbin/nologin varnish[[email protected] ~]#mkdir /data/varnish/cache[[email protected] ~]#mkdir /d

XML语言学习随笔

XML和HTML都是W3C的定制的标准,XML的诞生本身是为了替代不成熟的HTML,但是因为现实的环境,XML替代HTML并未成功.之后W3C为了代码严谨性的决心,又发布了升级版的标记语言XHTML,但是依然因为显示环境的主要原因,未能成功推广,知道今天HTML5的诞生! XML简单的特点 1. 比HTML更加规范严谨 2.具备树状格式 3.具有层次感 XML的组成 1.文档声明 2.元素 3.属性 4.注释 5.CDATA区 6.特殊字符 7.处理命令 文档声明 在XML中必须存在文档声明,否

spring4.0.6最新稳定版新特性学习,简单学习教程(一)

Spring Framework 4.0 学习整理. Spring框架的核心部分就是Ioc容器,而Ioc控制的就是各种Bean,一个Spring项目的水平往往从其XML配置文件内容就能略知一二,很多项目,往往是外包公司的项目,配置文件往往是乱七八糟,抱着能跑就行,不报错就行的态度去写,然后在项目中后期发现各种缺失又去一通乱补,其结果就是,整个文档可读性极差,毫无章法.这也不能怪写这个XML的人,拿着苦逼程序员的工资干着架构师的工作必然是这个结果.为了程序员的幸福,我认为有必要来一套简单快速的官方

Settings app简单学习记录

Settings是android系统设置的入口.主界面由Settings.java以及settings_headers.xml构成. Settings类继承自PreferenceActivity,而PreferenceActivity又继承自ListActivity,ListActivity拥有ListView和ListAdapter类型的成员变量. 1,如何使用PreferenceActivity构建页面 使用addPreferencesFromIntent或者addPreferencesFr

log4j2的简单学习

log4j2的简单学习: package com.book.web.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; //import org.apache.commons.logging.Log; //import org.apache.commons.logging.LogFactory; //import org.apache.logging.log4j.LogManager; //import org

session简单学习2

Session的生命周期 Session存储在服务器端,一般为了防止在服务器的内存中(为了高速存取),Sessinon在用户访问第一次访问服务器时创 建,需要注意只有访问JSP.Servlet等程序时才会创建Session,只访问HTML.IMAGE等静态资源并不会创建Session,可调用 request.getSession(true)强制生成Session. Session什么时候失效? 1. 服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效.Tomca

Android] Android XML解析学习——方式比较

[Android] Android XML解析学习——方式比较 (ZT) 分类: 嵌入式 (From:http://blog.csdn.net/ichliebephone/article/details/5981913) 一.基础知识 经过这段时间的学习,我们已经了解了Android平台上用于解析XML的三种方式:SAX.DOM和Pull.并且在学习的过程中也介绍了这三种方式各自的特点及适合的使用场合,简单的来说,DOM方式最直观和容易理解,但是只适合XML文档较小的时候使用,而SAX方式更适合

$.fn.extend简单学习

(function($){ /** 1. $.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效. 如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法, 那么后面你的每一个jquery实例都可以引用这个方法了.  那么你可以这样子:$("#div").abc();  2.   jQuery为开发插件提拱了两个方法,分别是:  jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法.→

applicationContext.xml简单笔记

applicationContext.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://