xml
来源:互联网 发布:高中数学矩阵知识点 编辑:程序博客网 时间:2024/05/22 10:52
一、XML的概述(了解)
* eXtensible Markup Language 可扩展标记语言
* 宗旨是传输数据,而非显示数据。
* XML标签没有被预定义,需要用户自行定义标签。
* XML技术是W3C组织(WorldWideWeConsortium万维网联盟)发布的,目前遵循的是W3C组织于2000年发布的XML1.0规范。
* 作用: a. 传输数据
b. 配置文件(主要用途)
二、XML的语法(掌握)
* <?xml version=“1.0”?> 文档声明必须出现在第一句
* 一个标签有如下两种书写形式:
包含标签主体:<mytag>some content</mytag>不含标签主体:<mytag/>
* 一个XML文档必须有且仅有一个根标签
* XML中不会忽略主体内容中出现的空格和换行。
* 严格区分大小写
* <!--这是注释-->
* CDATA : 把标签当做普通文本内容;
<![CDATA[
<itcast>www.itcast.cn</itcast>
]]>
<?xml version = "1.0" ?><中国><首都>北京</首都></中国>未写encoding属性:
encoding属性:告诉浏览器 解码的时候采用什么来解码
三、XML的约束(看懂即可,掌握引入外部约束文件的语句)
* DTD约束(不够严谨)
(Document Type Definition)文档类型定义
*分类:
格式良好的XML:遵循XML语法的XML有效的XML:遵循约束文档的XML
约束文档定义了在XML中允许出现的元素名称、属性及元素出现的顺序等等。
注意:dtd文档必须用utf-8编码格式保存
* 校验XML的有效性* 非校验解析器 参见validator.html* 校验解析器
* DTD 文件的引入:
当引用的DTD文档在本地时,采用如下方式:<!DOCTYPE 根元素 SYSTEM “DTD文档路径”>当引用的DTD文档在公共网络上时,采用如下方式:
<!DOCTYPE 根元素 PUBLIC “DTD名称” “DTD文档的URL”>eg : <!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd">
* DTD文件的语法
在DTD文档中使用ELEMENT关键字来声明一个XML元素。如果子元素用逗号分开,说明必须按照声明顺序去编写XML文档。如果子元素用“|”分开,说明任选其一用+、*、?来表示元素出现的次数
定义属性:
<!ATTLIST 元素名
采用IE内置的解析器来验证xml文件的正确性:属性名1 属性值类型 设置说明属性名2 属性值类型 设置说明>
book.xml:
<?xml version = "1.0" ?><!DOCTYPE 书架 SYSTEM "book.dtd"> <书架><书><书名>葵花宝典</书名><作者>安倍晋三</作者><售价>100</售价></书><书><书名>金瓶梅</书名><作者>安倍晋四</作者><售价>50</售价></书></书架>
book.dtd:
<!ELEMENT 书架 (书+)><!ELEMENT 书 (书名,作者,售价)><!ELEMENT 书名 (#PCDATA)><!ELEMENT 作者 (#PCDATA)><!ELEMENT 售价 (#PCDATA)>vaidator.html:
<body> <script type="text/javascript"> <!--var xmldoc = new ActiveXObject("Microsoft.XMLDOM");xmldoc.validateOnParse = "true";xmldoc.load("book.xml");var reason = xmldoc.parseError.reason; var line = xmldoc.parseError.line ;document.write(line + ":" + reason) ; //--> </script> </body>
* Schema约束(严谨,结构清晰)
掌握如何引入一个schema文件
* 名称空间 : 指的是一个环境,所用的标签来自于哪个环境定义的。* 掌握引用schema文件:
xml中引入schema约束的步骤:
1、查看schema文档,找到根元素,在xml中写出来
<?xml version="1.0" encoding="UTF-8"?><书架></书架>
2、根元素来自哪个名称空间。使用xmlns指令来声明
名称空间是在schema中定义的,就是targetNamespace的值
<?xml version="1.0" encoding="UTF-8"?><itcast:书架 xmlns:itcast="http://www.itcast.com/book"></itcast:书架>
3、引入的名称空间根哪个xsd文件对应?
使用schemaLocation来指定:两个取值:第一个为名称空间 第二个为xsd文件的路径
<?xml version="1.0" encoding="UTF-8"?><itcast:书架 xmlns:itcast="http://www.itcast.com/book"
schemaLocation="http://www.itcast.com/book book.xsd">
</itcast:书架>
4、schemaLocation哪里来的?它来自一个标准的名称空间,直接复制黏贴即可.
<?xml version="1.0" encoding="UTF-8"?>
<itcast:书架 xmlns:itcast="http://www.itcast.com/book"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.itcast.com/book book.xsd">
</itcast:书架>
5、只要以上4部搞好了,对于子标签myeclipse就有提示了
0 0
- XML
- XML
- XML
- XML
- xml
- xml
- XML
- XML
- XML
- xml
- xml
- XML
- XML
- xml
- xml
- xml
- XML
- XML
- 使用动态宏动态控制数据集的表名
- Mac安装MySQL
- Kafka学习笔记(三)
- typedef与#define的区别
- matlab中使用fopen时出错解决办法
- xml
- 【BZOJ】4723 [POI2017] Flappy Bird
- python练习 序
- 服务器防黑加固丨Linux提权的4种方式,你知道几个?
- MFC 选一张图片当背景
- java对象排序、中文排序、list排序
- Android UI设计——ViewPager的简单使用(一)
- 委托资料收集
- eclipse的svn中提交模版