`
huangyongxing310
  • 浏览: 494133 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

XML原理

阅读更多

XML 简介
XML 被设计用来传输和存储数据。类似于JSON。

XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准

XML 被设计用来结构化、存储以及传输信息。(没有格式双方很难知道信息的结构内容)


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

<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>

实例解释:
第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。

描述文档的根元素
<note> //根元素的开始
  **
</note> //根元素的结尾

4个子元素
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>

就这样XML文档会形成一种树结构,如下:
<?xml version="1.0" encoding="utf-8"?>

<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>
    <A>George</A>
    <B>John</B>
    <C>Reminder</C>
  </body>
</note>



所有 XML 元素都须有关闭标签
<p>This is a paragraph //错
<p>This is a paragraph</p> //对


XML 标签对大小写敏感
<Message>这是错误的。</message> //错
<message>这是正确的。</message> //对


XML 必须正确地嵌套
<b><i>This text is bold and italic</b></i> //错
<b><i>This text is bold and italic</i></b> //对


XML 的属性值须加引号
<note date=08/08/2008> //错
  <to>George</to>
  <from>John</from>
</note>

<note date="08/08/2008"> //对
  <to>George</to>
  <from>John</from>
</note>


实体引用:就是特殊字符的转意。
&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; ' 单引号
&quot; " 引号

<message>if salary &lt; 1000 then</message>
想要的:
<message>if salary < 1000 then</message>


XML 中的注释
<!-- This is a comment -->


在 XML 中,空格会被保留

HTML 会把多个连续的空格字符裁减(合并)为一个:
HTML: Hello           my name is David.
输出: Hello my name is David.

在 XML 中,文档中的空格不会被删节。


XML 元素
开始标签直到(且包括)结束标签的部分。如:
<from>John</from>

元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。如:
<book category="CHILDREN"> //category(属性)
  <title>Harry Potter</title> //book的子元素,这个子元素只有文本内容
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>


XML 命名规则
XML 元素必须遵循以下命名规则:
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格


XML 元素 vs. 属性
<person sex="female"> //属性
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

<person>
  <sex>female</sex> //元素
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素,在 XML 中,
您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。

属性无法包含多重的值(元素可以)
属性无法描述树结构(元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护



XML 命名空间(XML Namespaces)
XML 命名空间提供避免元素命名冲突的方法。

这个 XML 文档携带着某个表格中的信息:
<table>
   <tr>
   <td>Apples</td>
   <td>Bananas</td>
   </tr>
</table>

这个 XML 文档携带有关桌子的信息(一件家具):
<table>
   <name>African Coffee Table</name>
   <width>80</width>
   <length>120</length>
</table>

由于两个文档都包含带有不同内容和定义的 <table> 元素,就会发生命名冲突。


使用前缀来避免命名冲突
<h:table>
   <h:tr>
   <h:td>Apples</h:td>
   <h:td>Bananas</h:td>
   </h:tr>
</h:table>

<f:table>
   <f:name>African Coffee Table</f:name>
   <f:width>80</f:width>
   <f:length>120</f:length>
</f:table>


使用命名空间(Namespaces)
<h:table xmlns:h="http://www.w3.org/TR/html4/">
   <h:tr>
   <h:td>Apples</h:td>
   <h:td>Bananas</h:td>
   </h:tr>
</h:table>
此 XML 文档携带着有关一件家具的信息:
<f:table xmlns:f="http://www.w3school.com.cn/furniture">
   <f:name>African Coffee Table</f:name>
   <f:width>80</f:width>
   <f:length>120</f:length>
</f:table>


默认的命名空间(Default Namespaces)
为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。
<table xmlns="http://www.w3.org/TR/html4/">
   <tr>
   <td>Apples</td>
   <td>Bananas</td>
   </tr>
</table>
此 XML 文档携带着有关一件家具的信息:
<table xmlns="http://www.w3school.com.cn/furniture">
   <name>African Coffee Table</name>
   <width>80</width>
   <length>120</length>
</table>


命名空间是就近原则的
<?xml version="1.0" encoding="utf-8"?>
<root xmlns="dotnet" xmlns:w="wpf">
  <!-- xmlns: dotnet -->
  <a>data in a</a> //默认的命名空间
  <!-- xmlns: dotnet -->
  <w:b>data in b</w:b> //w命名空间
  <!-- xmlns: wpf -->
  <c xmlns="silverlight">
    <!-- xmlns: silverlight -->
    <w:d>
      <!-- xmlns: wpf -->
      <e>data in e</e>
      <!-- xmlns: silverlight --> //就近原则
    </w:d>
  </c>
</root>



CDATA
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。(就是里面的数据不进行XML解析)
CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:
<script>
<![CDATA[ //开始
function matchwo(a,b)
{
if (a < b && a < 0) then
  {
  return 1;
  }
else
  {
  return 0;
  }
}
]]> //结束
</script>



参考原文:http://www.w3school.com.cn/xml
分享到:
评论

相关推荐

    XML原理与应用-袁俊PDF完整版

    袁俊的《XML原理与应用》一书深入浅出地讲解了XML的核心概念和技术,为读者提供了全面的XML学习资源。 XML的基本结构由元素、属性、文本内容、注释和处理指令组成。元素是XML文档的基石,它是以尖括号包围的一对...

    XML原理与应用-夏天

    在“XML原理与应用-夏天”这个主题中,我们可以深入探讨XML的基础概念、语法特性以及实际应用。 1. XML基础概念: - 标签定义:XML使用自定义的标签来描述数据,如`&lt;book&gt;`表示书籍,而HTML则使用预定义的标签如`...

    基于.net下C#开发的基于xml原理的作业提交系统(源码)含系统设计解决方案文档.zip

    3. **XML原理**:XML是一种用于标记数据的开放标准,其结构化格式使得数据易于解析和交换。在作业提交系统中,XML可能被用来存储作业的元数据(如学生信息、作业题目、提交时间等),并方便地在服务器和客户端之间...

    XML原理及应用.袁俊.PDF 文字版

    在“XML原理及应用.袁俊.PDF 文字版”这本书中,作者袁俊深入浅出地介绍了XML的基本概念、语法规范以及实际应用。 首先,XML的核心概念包括元素(Element)、属性(Attribute)、标签(Tag)、文本内容(Text ...

    XML原理及应用

    XML,全称为可扩展标记语言(EXtensible ...总之,XML作为一门强大的数据描述语言,是互联网时代的重要工具,其原理和应用是现代IT专业人士必备的知识点之一。深入理解XML,将有助于开发者更好地处理和利用结构化数据。

    XML原理及应用(XML设计)

    本书在讨论XML基本原理和结构的基础上,运用实例描述了DTD、XMLSchema、NameSpac、CSS、XSL、Xpath、XLink、Xpointer等相关协议内容及其规范的使用方法; 阐明 DOM 和 SAX 两类编程接口以及 XML 数据库访问技术。...

    基于XML原理试题库

    基于XML原理试题库主要过程 ppt文件

    XML原理及应用 课件

    在处理XML文件时,如“Rates.xml”,`ReadXml`方法会解析XML文档,将元素映射为DataTable的列,如"Currency"和"Exchange",使得数据可以直接进行操作和查询,无需手动解析XML。 使用`DataSet`处理XML的一个显著优点...

    暨南大学XML原理与应用

    第1章 XML概述 第2章 XML的结构及基本语法 第3章 DTD和XML Schema 第4章 XML文件的设计 第5章 XML的样式单XSLT 第6章 层叠样式表CSS 第7章 XML链接 第8章 XML工具的使用 第9章 XML与数据库 第10章 简单对象访问协议...

    XML解析原理Demo详解

    通过两天的努力,终于了解了XML的解析原理,于是写了这个Demo分享给大家。在Demo中,解析XML到前台显示用的是JDOM,而在模拟Bean工厂解析spring-config的时候,用的是DOM4J的解析方式,两者各有优点,如果你细心的话...

    XML 原理及应用(学习笔记)

    XML的设计目标是传输和存储数据,而不是显示数据,这使得它成为互联网上交换和存储结构化信息的标准。 XML的元素是其核心组成部分,每个元素代表文档中的一个逻辑组件。元素可以包含其他元素(子元素)或文本内容...

    《XML编程原理与实例教程》电子教案

    在本教程“《XML编程原理与实例教程》”中,你将全面了解XML的基础概念、语法规则以及如何在实际项目中应用XML。 首先,XML的核心理念是自描述性,这意味着通过标签来定义数据的结构和内容。例如,你可以创建一个名...

    Java实现解析并生成xml原理实例详解

    Java实现解析并生成xml原理实例详解 本文主要介绍了Java实现解析并生成xml原理实例详解,通过示例代码详细介绍了XML解析的原理和实现方式,涵盖了DOM和SAX两种解析方式,JAXP、JDOM、DOM4J等解析器的使用,以及...

    xml 解析分析 原理

    xml 解析分析 原理

    国产芯片替换STM32单片机-国民技术N32L43XML-STB芯片评估板PADS设计硬件原理图+PCB文件.rar

    标题中的“国产芯片替换STM32单片机-国民技术N32L43XML-STB芯片评估板PADS设计硬件原理图+PCB文件”指的是一个项目或教程,其目的是展示如何用国产的国民技术N32L43XML-STB微控制器替代传统的STM32系列单片机。...

    java操作XML 的原理以及代码

    本篇文章将深入探讨Java操作XML的原理,并提供相关的代码示例。 XML的结构基于元素(Elements)、属性(Attributes)和文本内容(Text Content)。元素是XML文档的核心,它们可以嵌套形成树状结构。属性是附加在...

    这一次搞懂Spring的XML解析原理说明

    在深入探讨Spring的XML解析原理之前,让我们先理解Spring框架的核心概念:控制反转(Inversion of Control,简称IOC)和依赖注入(Dependency Injection,简称DI)。Spring通过IOC和DI实现了对象之间的解耦,使得...

Global site tag (gtag.js) - Google Analytics