xml编程语言的学习干货

Xml文档的学习 

Xml 指的是可扩展标记语言(extensible markup language),基本上现在的java主流框架都使用xml来传输和储存数据,是非常重要的一门编程语言(至少在编程领域非常的重要)。

 

基本的xml语言就不多介绍,主要记录一些非常重要和关键的点。

 

  1. Xml编程文档用于储存和传输数据的,这一点和json文档有异曲同工之妙。
  2. Xml文档有嵌套的树形结构。
  3. Xml文档基本的构成是元素,其中每个元素包括开始和闭合标签,这点和html类似,但是xml文档和html文档是有本质上的区别的,html是显示型的编程语言,xml是储存传输型语言,多用于数据传输和储存的信息配置,并且xml文档可以自行定义标签,而html不能。
  4. Xml文档中元素有属性,但是具有多个属性就使用树结构,单个属性可以直接标识。例如:<file type="gif">computer.gif</file>。
  5. Xml文档是有一定的规范,并且一旦出错就不在执行,这一点也是和html不一样,具体不在详述。

 

下面的重头戏来了,怎样使用xml文档?

这里只记录一下在主流浏览器中的使用,一般的主流浏览器都包含XMLHttpRequest对象,一般IE5和IE6使用ActiveXObject对象,这个对象可厉害了,可以解析xml文档并读取xml中的元素数据信息,我们一般使用呢就是用的js了。

例如下面的代码:

<html>
<body>
<h1>W3Schools Internal Note</h1>
<div>
<b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</div>

<script>
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","note.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>

</body>
</html>

结果:

说白了就是解析xml文件中的元素信息显示,这样的话,在比如说像ssm一样的java主流框架的使用就方便很多,在一定程度上还实现了框架的解耦,实现前后端的分离,这一点和json文件有相似之处,特别是在前端页面的应用上更加的方便,同时,作为一个程序员,档次就不一样了,面子上也挂得住。

 

下面呢,记录一下这个xml文件的命名空间,见过一般java框架中的xml文件的小伙伴都知道,开头总有一大堆看不懂的东西,类似于:

xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:tx="http://www.springframework.org/schema/tx"

下面请允许我娓娓道来:

Xml命名空间是提供避免元素命名冲突的方法,前面说道,xml文件的标签是由开发者定义的,所以就会出现多种冲突的元素存在,可以使用前缀来避免冲突,比如:

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

但是这样比较麻烦,我们可以采用xmlns属性来声明,格式为:xmlns:前缀=”URL”(URL:统一资源标识符 uniform resource identifier)。当然,可以使用默认的命名空间,格式为:xmlns:”namespaceURL”。

当然,像&,<等字符是元素内容中的非法字符,xml文档中跳过编译可以使用CDATA标识:

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

 

下面说一下这xml dom :

DOM 就是文本对象,其中这个对象可以对于xml文档进行解析操作,前面提到过,但是前面没提到的是它还可以实现xml文档元素的增,删。获取元素属性,值,比较安逸,具体感兴趣的小伙伴可以尝试一下。

 

下面总结一下:

XML 可用于交换、共享和存储数据。

XML 文档形成 树状结构,在"根"和"叶子"的分支机构开始的。

XML 有非常简单的 语法规则。带有正确语法的 XML 是"形式良好"的。有效的 XML 是针对 DTD 进行验证的。

XSLT 用于把 XML 转换为其他格式,比如 HTML。

所有现代的浏览器有一个内建的 XML 解析器,可读取和操作 XML。

DOM(Document Object Model)定义了一个访问 XML 的标准方式。

XMLHttpRequest 对象提供了一个网页加载后与服务器进行通信的方式。

XML 命名空间提供了一种避免元素命名冲突的方法。

CDATA 区域内的文本会被解析器忽略。

我们的 XML 实例也代表了这个 XML 教程总结。

参考文献:

菜鸟教程 xml教程 有不对之处 望指正 仅仅做此记录 怕忘记:http://www.runoob.com/xml/xml-summary.html

 

猜你喜欢

转载自blog.csdn.net/Mr_carry/article/details/84236451