xml文件结构
mycat1的配置文件使用了xml格式,在详细了解配置文件之前,先理解一下xml文件的结构和语法
XML文档是树状结构,必须包含根元素,根元素是所有其他元素的父元素
所有的元素都可以拥有子元素
XML元素指的是从开始标签直到结束标签的部分(包括开始标签和结束标签)
元素可以包含其他元素、文本或者两者都包括、元素也可以拥有属性
必须包含根元素,根元素是所有其他元素的父元素
xml元素以 <name> 开始,用 </name> 关闭
在 <name> 和 </name> 之间,可以包含其他的标签或者文本
元素的属性在开始标签 <name> 中进行定义,例如 <book category="CHILDREN"></book> ,属性值必须使用引号括起来
如果一个元素为空,没有内容,也可以使用"/"进行关闭
XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
PDF是Portable Document Format(便携文件格式)的缩写,是一种电子文件格式,与操作系统平台无关,由Adobe 公司开发而成。PDF 文件是以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果。PDF将忠实地再现原稿的每一个字符、颜色以及图象。
XPS 是 XML Paper Specification 的简称,它是微软公司开发的一种文档保存与查看的规范。以前的开发代号为 “Metro”。这个规范本身描述了这种格式以及分发、归档、显示以及处理 XPS 文档所遵循的规则。最为显著的特点是,XPS 所用的置标语言是 WPF 所用的 XAML 的一个子集,因此显示 Windows 应用程序所用的方法可以用于 XPS 文档。
docx 是Office2007,office2010之后版本使用的,是用新的基于XML的压缩文件格式取代了其目前专有的默认文件格式,在传统的文件名扩展名后面添加了字母x(即docx取代doc、xlsx取代xls,等等)
随着20世纪90年代XML的出现,企业计算客户开始逐渐认识到,在他们所依赖的计算机产品和应用中采用开放的格式和标准所带来的商业价值。IT专业人员将从通用的数据格式中受益匪浅,这种格式可能是XML,因为它拥有被应用程序、平台和Internet浏览器读取的能力。
同样,随着在Microsoft Office 2000中对于XML格式的支持与采用,开发人员开始认识到,他们需要将以前的Microsoft Office版本中的二进制文件格式转换为XML格式。二进制文件(doc,dot,xls,以及ppt文件)在过去几年中一直肩负着存储和转换数据的重任,而现在它们无法满足新的市场需求的挑战,其中包括轻松地在异构应用之间传递数据,以及允许用户从这些数据中搜集商业信息。
2007 Microsoft Office system为Microsoft Office Excel 2007,Microsoft Office Word 2007,和Microsoft Office PowerPoint 2007采用了基于XML的文件格式,从而延续了这种转移。新的文件格式,称为Office Open XML格式,解决了上述市场需求的问题,同时改变了您基于Microsoft Office文档建立解决方案的方式。
新的格式增强了文件与数据的管理能力,数据恢复能力,以及与业务线系统的互操作能力。它们是对早期版本的二进制文件的扩展。任何支持XML的应用程序都可以访问新文件格式当中的数据,并与之协同工作。这些应用程序并不需要成为Microsoft Office system或Microsoft产品的一部分。用户也可以使用标准的转换来提取或重新组织数据。另外,有关安全性的担忧也大大的降低,因为信息是存储在XML当中的,它从本质上来讲都是纯文本的。因此,数据可以没有任何障碍地通过企业防火墙进行传递。
提纲 一 XML语法规则 二 元素的语法 三 注释的语法 四 CDATA的语法 五 Namespaces的语法 六 entity的语法 七 DTD的语法 一 XML语法规则 XML的文档和HTML的原代码类似 也是用标识来标识内容 创建XML文档必须遵守下列重要规则 规则 必须有XML声明语句 这一点我们在上一章学习时已经提到过 声明是XML文档的第一句 其格式如下 <xml version= standalone= yes/no encoding= UTF > 声明的作用是告诉浏览器或者其它处理程序 这个文档是XML文档 声明语句中的version表示文档遵守的XML规范的版本 standalone表示文档是否附带DTD文件 如果有 参数为no encoding表示文档所用的语言编码 默认是UTF 规则 是否有DTD文件 如果文档是一个 有效的XML文档 (见上一章) 那么文档一定要有相应DTD文件 并且严格遵守DTD文件制定的规范 DTD文件的声明语句紧跟在XML声明语句后面 格式如下 <!DOCTYPE type of doc SYSTEM/PUBLIC dtd name > 其中 !DOCTYPE 是指你要定义一个DOCTYPE; type of doc 是文档类型的名称 由你自己定义 通常于DTD文件名相同 SYSTEM/PUBLIC 这两个参数只用其一 SYSTEM是指文档使用的私有DTD文件的网址 而PUBLIC则指文档调用一个公用的DTD文件的网址 dtd name 就是DTD文件的网址和名称 所有DTD文件的后缀名为 dtd 我们还是用上面的例子 应该写成这样 <xml version= standalone= no encode= UTF ><!DOCTYPE filelist SYSTEM filelist dtd > 规则 注意你的大小写 在XML文档中 大小写是有区别的 <P>和<p>是不同的标识 注意在写元素时 前后标识大小写要保持一样 例如:<Author>ajie</Author> 写成<Author>ajie</author>是错误的 你最好养成一种习惯 或者全部大写 或者全部小写 或者大写第一个字母 这样可以减少因为大小写不匹配产生的文档错误 规则 给属性值加引号 在HTML代码里面 属性值可以加引号 也可以不加 例如:<font color=red>word</font>和<font color= red >word</font>都可以被浏览器正确解释 但是在XML中则规定 所有属性值必须加引号(可以是单引号 也可以是双引号) 否则将被视为错误 规则 所有的标识必须有相应的结束标识 在HTML中 标识可能不是成对出现的 比lt;br> 而在XML中规定 所有标识必须成对出现 有一个开始标识 就必须有一个结束标识 否则将被视为错误 规则 所有的空标识也必须被关闭空标识就是标识对之间没有内容的标识 比如<br> <img>等标识 在XML中 规定所有的标识必须有结束标识 针对这样的空标识 XML中处理的方法是在原标识最后加/ 就可以了 例如 <br>应写为<br /> <META name= keywords content= XML SGML HTML >应写为<META name= keywords content= XML SGML HTML /> <IMG src= cool gif >应写为<IMG src= cool gif />
第四章 XML语法二 元素的语法 元素由一对标识以及其中的内容组成 就象这样 ajie 元素的名称和标识的名称是一样的 标识可以用属性来进一步描述
在XML中 没有任何保留字 所以你可以随心所欲的用任何词语来作为元素名称 但是也必须遵守下列规范 名称中可以包含字母 数字以及其它字母 名称不能以数字或 _ (下划线)开头 名称不能以字母 xml(或 XML 或 Xml ……)开头 名称中不能包含空格 名称中间不能包含 (冒号) 为了使元素更容易阅读理解和操作 我们还有一些建议 名称中不要使用 因为在很多程序语言中 是作为对象的属性 例如 lor 同样的原因 也最好不要用 必须使用的 以 _ 代替 名称尽量简短 名称的大小写尽量采用同一标准 名称可以使用非英文字符 比如用中文 但是有些软件可能不支持 (IE 目前是支持中文元素的 ) 另外 补充一点关于属性的说明 在HTML中 属性可以用来定义元素的显示格式 比如 <font color= red >word</font>将把word显示为红色 而在XML中 属性只是对标识的描述 与元素内容的显示无关 例如同样一句 <font color= red >word</font> 并不会将word显示为红色 (那么 有网友会问 如何在XML中将文字显示为红色呢?这就需要使用CSS或者XSL 我们在下面详细讲述 ) 三 注释的语法 注释是为了便于阅读和理解 在XML文档添加的附加信息 将不会被程序解释或则浏览器显示 注释的语法如下 <! 这里是注释信息 > 可以看到 它和HTML中的注释语法是一样的 非常容易 养成良好的注释习惯将使你的文档更加便于维护 共享 看起来也更专业 四 CDATA的语法 CDATA全称character data 翻译为字符数据 我们在写XML文档时 有时需要显示字母 数字和其它的符号本身 比如 < 而在XML中 这些字符已经有特殊的含义 我们怎么办呢?这就需要用到CDATA语法 语法格式如下 <![CDATA[这里放置需要显示的字符]]>
例如 <![CDATA[<AUTHOR sex= female >ajie</AUTHOR>]]> 在页面上显示的内容将是 <AUTHOR sex= female >ajie</AUTHOR>
第四章 XML语法五 Namespaces的语法 Namespaces翻译为名字空间 名字空间有什么作用呢?当我们在一个XML文档中使用他人的或者多个DTD文件 就会出现这样的矛盾 因为XML中标识都是自己创建的 在不同的DTD文件中 标识名可能相同但表示的含义不同 这就可能引起数据混乱 比如在一个文档<table>wood table</table>中<table>表示桌子 而在另一个文档<table>namelist</table>中<table>表示表格 如果我需要同时处理这两个文档 就会发生名字冲突 了解决这个问题 我们引进了namespaces这个概念 namespaces通过给标识名称加一个网址(URL)定位的方法来区别这些名称相同的标识 Namespaces同样需要在XML文档的开头部分声明 声明的语法如下 <document xmlns:yourname= URL >其中yourname是由你定义的namespaces的名称 URL就是名字空间的网址 假设上面的 桌子<table> 文档来自 我们就可以声明为<document xmlns:zhuozi= > 然后在后面的标识中使用定义好的名字空间 <zhuozi:table>wood table</table> 这样就将这两个<table>区分开来 注意的是 设置URL并不是说这个标识真的要到那个网址去读取 仅仅作为一种区别的标志而已 六 entity的语法 entity翻译为 实体 它的作用类似word中的 宏 也可以理解为DW中的摸板 你可以预先定义一个entity 然后在一个文档中多次调用 或者在多个文档中调用同一个entity entity可以包含字符 文字等等 使用entity的好处在于 它可以减少差错 文档中多个相同的部分只需要输入一遍就可以了 它提高维护效率 比如你有 个文档都包含copyright的entity 如果需要修改这个copyright 不需要所有的文件都修改 只要改最初定义的entity语句就可以了 XML定义了两种类型的entity 一种是我们这里说的普通entity 在XML文档中使用 另一种是参数entity 在DTD文件中使用 entity的定义语法为:<!DOCTYPE filename [<!ENTITY entity name entity content ]>例如我要定义一段版权信息:<!DOCTYPE copyright [<!ENTITY copyright Copyright Ajie All rights reserved ]>如果我的版权信息内容和他人共享一个XML文件 也可以使用外部调用的方法 语法象这样 <!DOCTYPE copyright [<!ENTITY copyright SYSTEM > ]>定义好的entity在文档中的引用语法为 &entity name;例如 上面定义的版权信息 调用时写作copyright;完整的例子如下 你可以copy下来存为copyright xml观看实例 <xml version= encoding= GB ><!DOCTYPE copyright [<!ENTITY copyright Copyright Ajie All rights reserved >]><myfile><title>XML</title><author>ajie</author><email></email><date> </date>©right;</myfile>
第四章 XML语法七 DTD的语法 DTD是 有效XML文档 的必须文件 我们通过DTD文件来定义文档中元素和标识的规则及相互关系 如何建立一个DTD文件呢?让我们一起来学习 设置元素 元素是XML文档的基本组成部分 你要在DTD中定义一个元素 然后在XML文档中使用 元素的定义语法为 <!ELEMENT DESCRIPTION (#PCDATA DEFINITION)> 说明 <!ELEMENT 是元素的声明 说明你要定义的是一个元素
声明后面的 DESCRIPTION 是元素的名称 (#PCDATA DEFINITION)> 则是该元素的使用规则 规则定义了元素可以包含的内容以及相互的关系 下面的表格概要列出了元素的规则 元素规则表:
Symbol
含义
举例
#PCDATA
包含字符或文本数据
<MYFILE(#PCDATA)>元素MYFILE包含一个文本数据
#PCDATA element name
包含文本和其它子元素
<MYFILE(#PCDTATA TITLE)>MYFILE元素必须包含文本和TITLE子元素
使用逗号分隔排序
<MYFILE (TITLE AUTHOR EMAIL)>MYFILE元素必须依次包含TITILE AUTHOR EMAIL三个子元素
|
使用 | 表示或者
<MYFILE (TITLE | AUTHOR | EMAIL)>MYFILE元素必须包含TITLE 或者AUTHOR或者EMAIL子元素
name
只能使用一次
<MYFILE (TITLE)>MYFILE元素必须包含TITLE子元素 而且只能使用一次
使用一次或者不使用
<MYFILE (TITLE AUTHOR EMAIL)>MYFILE元素必须包含TITLE子元素 而且只能使用一次 可以包含或者不包含AUTHOR和EMAIL子元素 但是如果使用 只能一次
使用至少一次或多次
<MYFILE (TITLE+ AUTHOR EMAIL)>MYFILE元素必须包含TITLE子元素 而且使用至少一次 接下来可以跟随AUTHOR子元素 也可以不跟 最后必须包含EMAIL子元素 而且只能使用一次
使用一次 多次 或者根本不使用
<MYFILE (TITLE)>MYFILE元素可以包含一个 多个或者不包含TITLE子元素
设置组 可以嵌套
<MYFILE(#PCDATA | TITLE)>元素MYFILE包含一个或者更多的文本或者TITLE子元素
<MYFILE((TITLE AUTHOR EMAIL) | MENT)>MYFILE元素必须包含一些内容 内容或者是一个注释 也或者是多个组 组里包含 一个 多个或者没有TITLE子元素 接着是一个或者没有AUTHOR子元素 再接着是一个必须的EMAIL子元素
另外 我们还可以为元素定义属性 因为我们不推荐使用属性 在这里就不详细展开了最后 我们来总结一些前四章学习的内容 写一个包含DTD XML 以及Script的简单实例 便于读者理解 将下面文件存为myfile dtd<!ELEMENT myfile (title author)><!ELEMENT title (#PCDATA)><!ELEMENT author (#PCDATA)> 然后建立XML文档myfile xml:<xml version= encoding= GB ><!DOCTYPE myfile SYSTEM myfile dtd ><myfile><title>XML轻松学习手册</title><author>ajie</author></myfile> 建立HTML文档l<><head><script language= JavaScript for= window event= onload >var xmlDoc = new ActiveXObject( Microsoft XMLDOM );xmlDoc async= false ;xmlDoc load( myfile xml );nodes = xmlDoc documentElement childNodes;title innerText = em( ) text;author innerText = em( ) text;</script><title>在HTML中调用XML数据</title></head><body bgcolor= #FFFFFF ><b>标题: </b><span id= title ></span><br><b>作者: </b><span id= author ></span><br></body></>
lishixinzhi/Article/program/net/201311/11347
如何新建xml格式的文件,可以使用Excel文件转换为XML格式,操作方法如下:
1、首先在电脑中点击新建一个Excel文档,如下图所示。
2、打开Excel文件后,点击左上角的“文件”选项。
3、接着在打开的文件下拉菜单中,选择左侧的“另存为”选项。
4、然后在打开的窗口中,设置文件保存位置和名称。
5、然后在下拉菜单中。选择“XML”格式文件。
6、最后点击确定按钮,Excel就成功保存为“XML”格式了。
什么是XML
XML 代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言)。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。
XML是元标记语言
关于XML要理解的第一件事是,它不只是像超文本标记语言(Hypertext Markup Language,HTML)或是格式化的程序。这些语言定义了一套固定的标记,用来描述一定数目的元素。如果标记语言中没有所需的标记,用户也就没有办法了。这时只好等待标记语言的下一个版本,希望在新版本中能够包括所需的标记,但是这样一来就得依赖于软件开发商的选择了。
但是XML是一种元标记语言。用户可以定义自己需要的标记。这些标记必须根据某些通用的原理来创建,但是在标记的意义上,也具有相当的灵活性。例如,假如用户正在处理与家谱有关的事情,需要描述人的出生、死亡、埋葬地、家庭、结婚、离婚等,这就必须创建用于每项的标记。新创建的标记可在文档类型定义(Document Type Definition,在以后的篇幅中常简称为DTD)中加以描述。在本书的第二部分中将会学到有关DTD的更多的知识。现在,只需把DTD看作是一本词汇表和某类文档的句法。例如,在Peter Murray-Rust的Chemical Markup Language (化学标记语言,简写为CML)中的MOLDTD文件中描述了词汇表和分子科学的句法:其中包括chemistry(化学)、 crystallography(结晶学)、solid state physics(固体物理)等词汇。它包括用于atoms(原子)、molecules(分子)、bonds(化学键)、spectra(光谱)等的标记。这个DTD可与分子科学领域中的许多不同的人共享。对于其他领域也有其他的DTD,用户还可以创建自己的DTD。
XML定义了一套元句法,与特定领域有关的标记语言(如MusicML、MathML和CML)都必须遵守。如果一个应用程序可以理解这一元句法,那么它也就自动地能够理解所有的由此元语言建立起来的语言。浏览器不必事先了解多种不同的标记语言使用的每个标记。事实是,浏览器在读入文档或是它的DTD时才了解了给定文档使用的标记。关于如何显示这些标记的内容的详细指令是附加在文档上的另外的样式单提供的。例如,考虑薛定格(Schrodinger)方程:
科学论文中充满了这一类方程,但是科学家还必须等待多年,才能让浏览器的开发商支持书写最基本的数学公式所需的标记。音乐家也有同样的局限性,因为Netscape Navigator和Internet Explorer还都不支持乐谱。
有了XML就意味着不必等待浏览器的开发商来满足用户的需要了。用户可以创建自己需要的标记,当需要时,告诉浏览器如何显示这些标记就可以了。
XML描述的是结构和语义,而不是格式化
关于XML要了解的第二件事是,XML标记描述的是文档的结构和意义。它不描述页面元素的格式化。可用样式单为文档增加格式化信息。文档本身只说明文档包括什么标记,而不是说明文档看起来是什么样的。
作为对照,HTML文档包括了格式化、结构和语义的标记。<B>就是一种格式化标记,它使其中的内容变为粗体。<STRONG>是一种语义标记,意味着其中的内容特别重要。<TD>是结构标记,指明内容是表中的一个单元。事实上,某些标记可能具有所有这三种意义。<H1>标记可同时表示20磅的Helvetica字体的粗体、第一级标题和页面标题。
例如,在HTML中,一首歌可能是用定义标题、定义数据、无序的列表和列表项来描述的。但是事实上这些项目没有一件是与音乐有关的。用HTML定义的歌曲可能如下:
<dt>Hot Cop
<dd> by Jacques Morali Henri Belolo and Victor Willis
<ul>
<li>Producer: Jacques Morali
<li>Publisher: PolyGram Records
<li>Length: 6:20
<li>Written: 978
<li>Artist: Village People
</ul>
而在XML中,同样的数据可能标记为:
<SONG>
<TITLE>Hot Cop</TITLE>
<COMPOSER>Jacques Morali</COMPOSER>
<COMPOSER>Henri Belolo</COMPOSER>
<COMPOSER>Victor Willis</COMPOSER>
<PRODUCER>Jacques Morali</PRODUCER>
<PUBLISHER>PolyGram Records</PUBLISHER>
<LENGTH>6:20</LENGTH>
<YEAR> 978</YEAR>
<ARTIST>Village People</ARTIST>
</SONG>
在这个清单中没有使用通用的标记如<dt>和<li>,而是使用了具有意义的标记,如<SONG>、<TITLE>、<COMPOSER>和<YEAR>等。这种用法具有许多优点,包括源码易于被人阅读,使人能够看出作者的含义。
XML标记还使非人类的自动机器人易于找出文档中的所有歌曲。在HTML中,机器人只能告诉我们这个元素是dt。机器人不能决定dt到底代表一首歌的题目还是定义,抑或只是一些设计者喜爱的缩进文本格式。事实上,单一文档中可以很好地包括带有三种意义的各种dt元素。
可以选择XML的元素名称,以便使其在附加的上下文中具有额外的意义。例如,元素名称可以是数据库的域名。XML比HTML更为灵活而且适用于各种应用,因为有限数目的标记不必用于许多不同的目的。
参考资料:
PDF格式、OFD格式。
1、PDF格式。北京数电票含有数字签名的xml是PDF格式的文件;PDF提供了一种安全的方式来发送可能包含个人或机密数据的信息,是可以被加密。
2、OFD格式。北京数电票含有数字签名的xml是OFD格式的文件;OFD格式预留了可扩展入口和自定义标引,设置了非接触式引用机制,为特性化提供支持
xml文件结构
本文2023-10-04 22:17:23发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/176169.html