`
daynight830
  • 浏览: 14043 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

XML学习笔记

阅读更多

最近两天抽空看完了一位台湾人士写的一本《无废话XML》,标题看上去不错,正好也没有系统的学习过XML,索性完整的学习一下。结果看了不到两页,心里就大喊上当,简直就是废话连篇啊,当时狂晕。但是还是忍着看了下去,因为里面有很多业界的一些咨询包含在里面,是我很缺乏的。

其实XML也挺简单,没有必要专门的去深入,会用足以。所以记下来的笔记也只是一些零散的点,毕竟教程在网上可以信手拈来,这里只是供偶尔路过的有兴趣的同学们参考,也当作自己以后温习的素材把。

1.大小写有分:

XML与HTML是在区分大小写方面是截然不同的,XML严格的区分大小写,就像Unix家族的操作系统一样。在这方面,HTML就好比是Windows和MacOS。

2.CDATA区:

什么是CDATA区呢?大家平时肯定见的很多,但是不一定知道这个区域的特点。其实CDATA区就是一个不许解析器乱碰的区域。类似HTML中的<pre></pre>。在这个区域中的字符解析器不能去碰,只能交给下游程序去处理,换行符和空格也是如此。例如:<![CDATA[.......这里的字符都默认为Unicode编码........]]>> 

3.PI与样式表:

PI:Processing Instruction 在XML中的标记为<?...............?>。通常XML中会有多处这样的标记,严格来说它的作用是传递情报给下游程序。举例:<?xml-stylesheet href="style.css" type="text/css"?>。这样就在XML中建立了与样式表的链接了。

4.空白字元:

定义:space,tab,CR,LF,其中CR means Carriage Return,MacOS平台的换行记号。LF means Line Feed,Unix上的换行符号,也即字符‘\n’。Dos/Windows上的换行符为CR+LF,也就是字符'\r\n'。另外,很多同学喜欢在代码里面直接硬编码'\r\n'为换行符,这样是错误的。应该用System.***下面的各种静态变量来获取系统的换行符。

5.关于Unicode:

Unicode标准中经常会有ISO和UCS,什么东东?ISO--指的是位于瑞士的国际标准局的缩写;而UCS则是指Univeral character Set,即世界通用字符集,这种编码占4个字节。XML中默认的编码为Unicode(2bytes)。还有一种很常用的是UTF-8,它是一种变长的编码方式,对于英文字符是用1个字节表示,对于汉文可能会用到3个字节来表示。这样就避免了所有字符对字符的处理利用Unicode的两字节来表示,而在网络上传输的,更多的还是英文字符,因此UTF-8诞生很重要的一个原因也就是可以节约网络上的消耗。

6.URL-URN-URI别搞混了:

UR:Uniform Resource,L:locater,N:name,I:Identifier。从命名上看就知道这三者肯定有不小的联系了。URI实际上是对网络上所有用字符串表示的资源的一个总称,URL大家众所周知的,是基于某种特定协议下标识的网络资源,如HTTP,FTP等,而URN则是一种持久的,有专门机构负责的网络资源。

7.名称空间:

这个是XML的一个核心,没有它,XML不可能像我们现在认识的这么强大。书中是这样解释的:如果每套XML语汇,都各自用一个独一无二的标志来代表并且在使用时,这个标志和语汇中的元素,属性名连在一块儿使用,就绝不会和其它的语汇扯不清了,因为每个语汇中的名称,都已经先被被该语汇的独特标识码给修饰,限定了。

这么说可能还不是很清楚,举个例子。现在用一个XML文件来描述两个对象,一个业务员,一个客户。每个客户都有姓名,年龄,薪水等属性,大家可以想象出标签是怎么样的把,这里就不列举了,还有一个属性可能是业务员的姓名,因为是业务员拉他入伙的,可是会算绩效的哦。但是业务员这个时候也会有同样的属性,比如名字。这个时候解析器如何去辨别呢?但是我们也可以把标签利用DTD重新定义成<客户姓名><业务员姓名>也是可行的一种解决办法。但是记住,我们一般是不会去改DTD来定义我们的标签的。因此我们就需要有命名标签这个概念来帮我们来标识出这两者的不同。

具体名称空间如何定义,如何使用,很多XML教程都会写,这里我就没耐心一个个的敲出来了,有兴趣的同学可以自己去找,这里只是帮助大家理解。(也许被我这么一说,大家更乱了。)

另外,通过命名空间,还可以将HTML中的标签嵌入到XML中来传递,比如<form>,<input>等。

8.XHTML

 XHTML就是一个扮演着类似HTML的角色的XML,所以本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。之所以无法取代,因为现在有太多的HTML在应用当中。目前据说正式发布的是XHTML1.0。

后记:其实学习XML还需要学习XSL,大概就是用来定义XML如何显示把,但是篇幅太多没那个耐心看,以后要用的时候再了解一下把。还有一个当然是CSS,这个打算以后专门的再学习一下。

如果哪位高人路过,看到小弟文中写的不对的地方,还望指正。

分享到:
评论

相关推荐

    Dom4j学习教程+API+xml实用大全+xml学习笔记+htc

    标题"Dom4j学习教程+API+xml实用大全+xml学习笔记+htc"提及了几个关键主题,包括Dom4j的学习资源、API文档,以及关于XML的实用指南和学习笔记,还提到了一个名为"htc"的文件,可能是关于HTC设备或技术的文档。...

    XML学习笔记.doc

    XML学习笔记 本文档是一份详细的XML学习笔记,涵盖了XML的背景、XML和HTML的关系、SGML、XML和HTML的关系、XML文件、XML标记等方面的知识点。 一、XML的背景 XML是扩展的标记语言(eXtensible Markup Language)...

    pugixml学习笔记1 加载文件

    在“pugixml学习笔记1 加载文件”中,我们将探讨如何利用pugixml库来加载XML文件,包括从内存、文件、字符串和流中加载。 首先,我们需要了解pugixml的核心类:`pugi::xml_document`、`pugi::xml_node`和`pugi::xml...

    北京圣思园xml学习笔记

    ### 北京圣思园XML学习笔记核心知识点详解 #### XML概述 - **XML全称**:eXtensible Markup Language(可扩展标记语言) - **学习XML的原因**: - 数据交换的需求日益增长,XML成为了电子商务的重要基础之一。 - ...

    XML学习笔记(包括Java的两种解析XML的方法)

    XML学习笔记(包括Java的两种解析XML的方法)。 XML基础语法的介绍,DTD的介绍和使用。 可快速入门,也可当手册使用。

    xml学习笔记

    在XML学习笔记中,我们可能会遇到以下几个关键知识点: 1. **XML基本结构**:XML文档由元素(Element)、属性(Attribute)、文本(Text)、注释(Comment)、处理指令(Processing Instruction)等组成。每个XML...

    java与xml 学习笔记整理

    Java操作XML是编程中常见的任务,特别是在处理配置文件、数据交换和存储时。XML文档对象模型(DOM)是一种广泛使用的解析XML的方式。DOM允许开发者通过Java代码与XML文档的结构进行交互,就像一棵树,每个元素、属性...

    PHPXML学习笔记

    本笔记主要涵盖了PHP中XML的使用方法和关键概念。 ### XML基础 1. **XML结构**:XML文档由元素、属性、文本内容和命名空间等组成。每个XML文档都必须有一个根元素,其他元素嵌套在其内部。 2. **XML命名规则**:...

    xml基础学习笔记

    XML 基础学习笔记 XML 文档基本结构: 1. 文档说明:一个完整的 XML 文档中必须包含一个文档说明,这个说明表示该文档是一个 XML 文挡,以及遵循那个 XML 版本的规范。最简单的文档说明如下:`&lt;?xml version=”1.0...

    Xml学习笔记.pdf

    由于提供的文件信息中包含了大量的XML学习资料,且内容比较丰富,我们将逐一详细解释这些内容所涵盖的知识点。 **XML简介** XML是Extensible Markup Language(可扩展标记语言)的缩写,它是一种用于标记电子文件...

    MLDN学习笔记 —— XML学习笔记

    XML,全称Extensible Markup Language,可扩展标记语言,是一种用于标记数据的结构化语言,...通过这些学习资料,你将能够深入理解XML的各个方面,从基础语法到高级用法,从而在实际工作中更有效地处理和利用XML数据。

    JDBC&XML 学习笔记

    JDBC&XML 个人学习笔记,适合初级学习,包含完整代码以及相应注视,简单明了

    XML学习笔记(特别适合初学者)

    XML的学习不仅包括基础语法,还包括理解XML的结构化概念、元数据、样式处理和DOM等高级主题。对于初学者来说,掌握这些基本知识是迈向专业XML开发的第一步。随着技能的提升,XML可以用于实现复杂的数据交换、数据...

    xml学习笔记.pdf

    XML,全称可扩展标记语言...学习XML的基础知识,对于理解和处理结构化数据,尤其是进行跨平台的数据交换,是至关重要的。无论是初学者还是经验丰富的开发人员,掌握XML都能提高其在软件开发领域的专业能力。

    xml学习笔记.docx

    XML的学习不仅仅是理解这些基本概念,还包括命名空间、DTD(文档类型定义)或XML Schema的使用,XPath和XSLT(用于查询和转换XML)等高级主题。掌握XML能帮助开发者更好地理解和处理结构化数据,从而在各种应用场景...

Global site tag (gtag.js) - Google Analytics