Just a little smile ^ ^

yoyo_zeng

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

XMLHTML区别

XML 被设计为传输和存储数据,其焦点是数据的内容。

HTML 被设计用来显示数据,其焦点是数据的外观。

HTML 旨在显示信息,而 XML 旨在传输信息

 

XML 使用简单的具有自我描述性的语法:

 1 <?xml version="1.0" encoding="ISO-8859-1"?>
2
3 <note>
4
5 <to>George</to>
6
7 <from>John</from>
8
9 <heading>Reminder</heading>
10
11 <body>Don't forget the meeting!</body>
12
13 </note>



 

所有元素均可拥有子元素:

1 <root>
2
3 <child>
4
5 <subchild>.....</subchild>
6
7 </child>
8
9 </root>



 

注意点

1.       XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签

2.       XML 的属性值须加引号,不过单引号和双引号均可使用

<person sex="female">

如果属性值本身包含双引号,那么有必要使用单引号包围它

<gangster name='George "Shotgun" Ziegler'>

或者可以使用实体引用:

<gangster name="George &quot;Shotgun&quot; Ziegler">

 

3.       XML 标签对大小写敏感

4.       XML 必须正确地嵌套

5.       XML 文档必须有根元素

6.       XML 中,一些字符拥有特殊的意义

&lt;          <      小于

&gt;         >      大于

&amp;    &     和号

&apos;    '       单引号

&quot;    "      引号

<message>if salary &lt; 1000 then</message>

7.       XML 元素必须遵循以下命名规则:

 

    名称可以含字母、数字以及其他的字符

    名称不能以数字或者标点符号开始

    名称不能以字符 xml”(或者 XMLXml)开始

    名称不能包含空格

8.在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。

 

这个 XML 文档携带着某个表格中的信息:

 1 <table>
2
3 <tr>
4
5 <td>Apples</td>
6
7 <td>Bananas</td>
8
9 </tr>
10
11 </table>



 

这个 XML 文档携带有关桌子的信息(一件家具):

1 <table>
2
3 <name>African Coffee Table</name>
4
5 <width>80</width>
6
7 <length>120</length>
8
9 </table>



 

使用前缀来避免命名冲突

此文档带有某个表格中的信息:

 1 <h:table>
2
3 <h:tr>
4
5 <h:td>Apples</h:td>
6
7 <h:td>Bananas</h:td>
8
9 </h:tr>
10
11 </h:table>



 

XML 文档携带着有关一件家具的信息:

1 <f:table>
2
3 <f:name>African Coffee Table</f:name>
4
5 <f:width>80</f:width>
6
7 <f:length>120</f:length>
8
9 </f:table>



 

9.       XML 元素 vs. 属性

XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧

 

CSS 来格式化 XML 文档是有可能的。

 

XSLT 是首选的 XML 样式表语言。使用 XSLT 的方法之一是在浏览器显示 XML 文件之前,先把它转换为 HTML

<?xml version="1.0" encoding="ISO-8859-1"?>

<?xml-stylesheet type="text/xsl" href="simple.xsl"?>

<breakfast_menu>

<food>

<name>Belgian Waffles</name>

<price>$5.95</price>

<description>

two of our famous Belgian Waffles

</description>

<calories>650</calories>

</food>

</breakfast_menu>



第二行,<?xml-stylesheet type="text/xsl" href="simple.xsl"?>,把这个 XML 文件链接到 XSL 文件:

 

XMLHttpRequest

XMLHttpRequest 对象用于在后台与服务器交换数据

xmlhttp=new XMLHttpRequest(); //创建 XMLHttpRequest 对象

 

使用 XMLHttpRequest 对象从服务器取回 XML 信息

<html>

<head>

<script type="text/javascript">

var xmlhttp;

function loadXMLDoc(url)

{

xmlhttp
=null;

if (window.XMLHttpRequest)

{
// code for IE7, Firefox, Opera, etc.

xmlhttp
=new XMLHttpRequest();

}

else if (window.ActiveXObject)

{
// code for IE6, IE5

xmlhttp
=new ActiveXObject("Microsoft.XMLHTTP");

}

if (xmlhttp!=null)

{

xmlhttp.onreadystatechange
=state_Change; //onreadystatechange 是一个事件句柄。它的值 (state_Change) 是一个函数的名称,当 XMLHttpRequest 对象的状态发生改变时,会触发此函数

xmlhttp.open(
"GET",url,true); //"true"。该参数规定请求是否异步处理。True 表示脚本会在 send() 方法之后继续执行,而不等待来自服务器的响应。

xmlhttp.send(
null);

}

else

{

alert(
"Your browser does not support XMLHTTP.");

}

}



function state_Change()

{

if (xmlhttp.readyState==4)

{
// 4 = "loaded"

if (xmlhttp.status==200)

{
// 200 = "OK"

document.getElementById(
'A1').innerHTML=xmlhttp.status;

document.getElementById(
'A2').innerHTML=xmlhttp.statusText;

document.getElementById(
'A3').innerHTML=xmlhttp.responseText;

}

else

{

alert(
"Problem retrieving XML data:" + xmlhttp.statusText);

}

}

}

</script>

</head>



<body>

<h2>Using the HttpRequest Object</h2>



<p><b>Status:</b>

<span id="A1"></span>

</p>



<p><b>Status text:</b>

<span id="A2"></span>

</p>



<p><b>Response:</b>

<br /><span id="A3"></span>

</p>



<button onclick="loadXMLDoc('/example/xdom/note.xml')">Get XML</button>



</body>

</html>



 

posted on 2011-09-29 16:03  yoyo_zeng  阅读(162)  评论(0编辑  收藏  举报