XML命名空间提供了避免元素命名冲突的方法。而XML CDATA允许我们在XML中添加不被XML解析器解析的数据。

2.1 XML命名空间

一般情况下,我们编写的XML文档都是:

XML文档1:

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

XML文档2:

<table>
   <tr>
   <td>Apples</td>
   <td>Bananas</td>
   </tr>
</table>

这样看好像不会有什么错误,但是如果在同一页面中同时引用这两个XML文档时,那么XML就无法分辨出两个XML文档中的<table>元素了,这样在用JS读取XML⽂档的时候就会出现错误。而XML命名控件(xmlns属性)可以作为元素的前缀避免元素冲突。当加上了命名空间后,XM文档就是这样的:

XML文档1:

<table xmlns="http://www.w3.org/TR/html4/">
   <tr>
   <td>Apples</td>
   <td>Bananas</td>
   </tr>
</table>

XML文档2:

<table xmlns="http://www.w3school.com.cn/furniture">
    <name>African Coffee Table</name>
    <width>80</width>
    <length>120</length>
</table>

xmlns属性仅仅作为一个表示,而没有什么实际的意义。不过,很多公司常常将xmlns作为指针来使用,将其指向实际存在的网页,这个网页包含关于命名空间的信息。

2.2 XML CDATA

当浏览器加载XML的时候,XML解析器对XML文档中的所有内容进行解析。但有时候我们有有些内容不希望被XML解析器解析,此时我们可以将这部分内容包含在由"<![CDATA[" 开始,由"]]>" 结束的文本内。

<script>
<![CDATA[ ....... function matchwo(a,b)
    {
        if (a < b && a < 0) then
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
    ]]>.......
</script>                

我们将上面这部分不应由XML 解析器进行解析的文本数据(Unparsed Character Data)叫做:CDATA。相反,没有被包含在这里面的内容就叫做:PCDATA, 指的是被解析的字符数据(Parsed Character Data)。

总结:

· XML命名空间提供了避免元素命名冲突的方法,如:<table xmlns="http://www.w3.org/TR/html4/">。

· 而XML CDATA允许我们在XML中添加不被XML解析器解析的数据,使用"<![CDATA[" 开始,由"]]>" 包围起来即可。

2.XML高级用法的更多相关文章

  1. SQL[连载3]sql的一些高级用法

    SQL[连载3]sql的一些高级用法 SQL 高级教程 SQL SELECT TOP SQL SELECT TOP 子句 SELECT TOP 子句用于规定要返回的记录的数目. SELECT TOP ...

  2. 细说 ASP.NET Cache 及其高级用法

    许多做过程序性能优化的人,或者关注过程程序性能的人,应该都使用过各类缓存技术. 而我今天所说的Cache是专指ASP.NET的Cache,我们可以使用HttpRuntime.Cache访问到的那个Ca ...

  3. 细说 ASP.NET Cache 及其高级用法【转】

    阅读目录 开始 Cache的基本用途 Cache的定义 Cache常见用法 Cache类的特点 缓存项的过期时间 缓存项的依赖关系 - 依赖其它缓存项 缓存项的依赖关系 - 文件依赖 缓存项的移除优先 ...

  4. LinqToXml高级用法介绍

    LinqToXml高级用法介绍 一.函数构造 什么是函数构造?其是指通过单个语句构建XML树的能力. 那么它有什么作用呢? 作用1.用单个表达式快速创建复杂的XML树 见实例代码CreateXml( ...

  5. Android Data Binding高级用法-Observable、动态生成Binding Class(三)

    设置View的id 虽然说Data Binding这种分层模式使得我们对数据的传递简单明了,一般情况下我们可以不设置View的id,不使用findViewById即可对View进行数据上一系列的操作, ...

  6. Python爬虫入门之Urllib库的高级用法

    1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...

  7. Python爬虫Urllib库的高级用法

    Python爬虫Urllib库的高级用法 设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Head ...

  8. [转]细说 ASP.NET Cache 及其高级用法

    本文转自:http://www.cnblogs.com/fish-li/archive/2011/12/27/2304063.html 阅读目录 开始 Cache的基本用途 Cache的定义 Cach ...

  9. jquery ajax实例教程和一些高级用法

    jquery ajax的调用方式:jquery.ajax(url,[settings]),jquery ajax常用参数:红色标记参数几乎每个ajax请求都会用到这几个参数,本文将介绍更多jquery ...

随机推荐

  1. 关于C# XmlDocument方法Load加载流后自动释放流的解决方法

    在实际应用doc.Load(Request.InputStream)的时候,doc.Load方法内置默认释放流 造成再次度Request.InputStream的时候,代码报错 替换方法: XmlDo ...

  2. 核心动画(UIView封装动画)

    一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...

  3. java 计算源码的行数

    import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOExcepti ...

  4. 几分钟看完 flow.ci 全部功能

    从 0 到 1,从邀请式内测到收费上线,flow.ci 经历了十个多月的沉淀与打磨.这期间,flow.ci 工程师们奋力赶工,进行了一系列的大功能更新,Bug 修复,功能优化. 这篇文章记录了 flo ...

  5. js:如何在循环异步请求的每次返回中添加想要的值

    先看一个场景 var arr = ["a","b","c"]; for (var i in arr) {         $.get(&qu ...

  6. java读取和写入txt文件

    package com.yinghuo.testDES; import java.io.BufferedReader;import java.io.BufferedWriter;import java ...

  7. SSIS 数据流的连接和查找转换

    在SSIS的数据流组件中,SSIS引擎使用Merge Join组件和 Lookup组件实现TSQL语句中的inner join 和 outer join 功能,Lookup查找组件的功能更类似TSQL ...

  8. ERP实施规范化及示例——邮件沟通

    上门服务前 上门服务计划,要详细,提前发给客户,反复确定双方的行程 上门服务所需的常规文档(培训SOP,培训记录) 项目组内反复确认本次上门要完成的事项 …… 上门服务中 先跟老板沟通项目进展,本次上 ...

  9. 第二章 mac上运行第一个appium实例

    一.打开appium客户端工具 1      检查环境是否正常运行: 点击左边第三个图标 这是测试你环境是否都配置成功了 2      执行的过程中,遇到Could not detect Mac OS ...

  10. Java中的for each实现原理与坑

    文章转载自「开发者圆桌」一个关于开发者入门.进阶.踩坑的微信公众号 在Java中,遍历集合和数组一般有以下三种形式: for (int i = 0; i < list.size(); i++) ...