学习XML手记

 

  要:本文用一个例子显示了htmljavascript是怎么读取xml中的数据的,在了解xml过程中有些启示,所以就记录下来了。

关键字:xmlhtmljavascript

xml很好的实现了在网页中数据和数据显示的分离,那么htmljavascript是如何读取xml中的数据的呢?具体过程如下:

1.用文本编辑器建一文件:cd_catalog.xml,内容如下:

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

<!-- Edited with XML Spy v4.2 -->

<CATALOG>

       <CD>

              <TITLE>Empire Burlesque</TITLE>

              <ARTIST>Bob Dylan</ARTIST>

              <COUNTRY>USA</COUNTRY>

              <COMPANY>Columbia</COMPANY>

              <PRICE>10.90</PRICE>

              <YEAR>1985</YEAR>

       </CD>

       <CD>

              <TITLE>Hide your heart</TITLE>

              <ARTIST>Bonnie Tyler</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>CBS Records</COMPANY>

              <PRICE>9.90</PRICE>

              <YEAR>1988</YEAR>

       </CD>

       <CD>

              <TITLE>Greatest Hits</TITLE>

              <ARTIST>Dolly Parton</ARTIST>

              <COUNTRY>USA</COUNTRY>

              <COMPANY>RCA</COMPANY>

              <PRICE>9.90</PRICE>

              <YEAR>1982</YEAR>

       </CD>

       <CD>

              <TITLE>Still got the blues</TITLE>

              <ARTIST>Gary Moore</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>Virgin records</COMPANY>

              <PRICE>10.20</PRICE>

              <YEAR>1990</YEAR>

       </CD>

       <CD>

              <TITLE>Eros</TITLE>

              <ARTIST>Eros Ramazzotti</ARTIST>

              <COUNTRY>EU</COUNTRY>

              <COMPANY>BMG</COMPANY>

              <PRICE>9.90</PRICE>

              <YEAR>1997</YEAR>

       </CD>

       <CD>

              <TITLE>One night only</TITLE>

              <ARTIST>Bee Gees</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>Polydor</COMPANY>

              <PRICE>10.90</PRICE>

              <YEAR>1998</YEAR>

       </CD>

       <CD>

              <TITLE>Sylvias Mother</TITLE>

              <ARTIST>Dr.Hook</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>CBS</COMPANY>

              <PRICE>8.10</PRICE>

              <YEAR>1973</YEAR>

       </CD>

       <CD>

              <TITLE>Maggie May</TITLE>

              <ARTIST>Rod Stewart</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>Pickwick</COMPANY>

              <PRICE>8.50</PRICE>

              <YEAR>1990</YEAR>

       </CD>

       <CD>

              <TITLE>Romanza</TITLE>

              <ARTIST>Andrea Bocelli</ARTIST>

              <COUNTRY>EU</COUNTRY>

              <COMPANY>Polydor</COMPANY>

              <PRICE>10.80</PRICE>

              <YEAR>1996</YEAR>

       </CD>

       <CD>

              <TITLE>When a man loves a woman</TITLE>

              <ARTIST>Percy Sledge</ARTIST>

              <COUNTRY>USA</COUNTRY>

              <COMPANY>Atlantic</COMPANY>

              <PRICE>8.70</PRICE>

              <YEAR>1987</YEAR>

       </CD>

       <CD>

              <TITLE>Black angel</TITLE>

              <ARTIST>Savage Rose</ARTIST>

              <COUNTRY>EU</COUNTRY>

              <COMPANY>Mega</COMPANY>

              <PRICE>10.90</PRICE>

              <YEAR>1995</YEAR>

       </CD>

       <CD>

              <TITLE>1999 Grammy Nominees</TITLE>

              <ARTIST>Many</ARTIST>

              <COUNTRY>USA</COUNTRY>

              <COMPANY>Grammy</COMPANY>

              <PRICE>10.20</PRICE>

              <YEAR>1999</YEAR>

       </CD>

       <CD>

              <TITLE>For the good times</TITLE>

              <ARTIST>Kenny Rogers</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>Mucik Master</COMPANY>

              <PRICE>8.70</PRICE>

              <YEAR>1995</YEAR>

       </CD>

       <CD>

              <TITLE>Big Willie style</TITLE>

              <ARTIST>Will Smith</ARTIST>

              <COUNTRY>USA</COUNTRY>

              <COMPANY>Columbia</COMPANY>

              <PRICE>9.90</PRICE>

              <YEAR>1997</YEAR>

       </CD>

       <CD>

              <TITLE>Tupelo Honey</TITLE>

              <ARTIST>Van Morrison</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>Polydor</COMPANY>

              <PRICE>8.20</PRICE>

              <YEAR>1971</YEAR>

       </CD>

       <CD>

              <TITLE>Soulsville</TITLE>

              <ARTIST>Jorn Hoel</ARTIST>

              <COUNTRY>Norway</COUNTRY>

              <COMPANY>WEA</COMPANY>

              <PRICE>7.90</PRICE>

              <YEAR>1996</YEAR>

       </CD>

       <CD>

              <TITLE>The very best of</TITLE>

              <ARTIST>Cat Stevens</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>Island</COMPANY>

              <PRICE>8.90</PRICE>

              <YEAR>1990</YEAR>

       </CD>

       <CD>

              <TITLE>Stop</TITLE>

              <ARTIST>Sam Brown</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>A and M</COMPANY>

              <PRICE>8.90</PRICE>

              <YEAR>1988</YEAR>

       </CD>

       <CD>

              <TITLE>Bridge of Spies</TITLE>

              <ARTIST>T'Pau</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>Siren</COMPANY>

              <PRICE>7.90</PRICE>

              <YEAR>1987</YEAR>

       </CD>

       <CD>

              <TITLE>Private Dancer</TITLE>

              <ARTIST>Tina Turner</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>Capitol</COMPANY>

              <PRICE>8.90</PRICE>

              <YEAR>1983</YEAR>

       </CD>

       <CD>

              <TITLE>Midt om natten</TITLE>

              <ARTIST>Kim Larsen</ARTIST>

              <COUNTRY>EU</COUNTRY>

              <COMPANY>Medley</COMPANY>

              <PRICE>7.80</PRICE>

              <YEAR>1983</YEAR>

       </CD>

       <CD>

              <TITLE>Pavarotti Gala Concert</TITLE>

              <ARTIST>Luciano Pavarotti</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>DECCA</COMPANY>

              <PRICE>9.90</PRICE>

              <YEAR>1991</YEAR>

       </CD>

       <CD>

              <TITLE>The dock of the bay</TITLE>

              <ARTIST>Otis Redding</ARTIST>

              <COUNTRY>USA</COUNTRY>

              <COMPANY>Atlantic</COMPANY>

              <PRICE>7.90</PRICE>

              <YEAR>1987</YEAR>

       </CD>

       <CD>

              <TITLE>Picture book</TITLE>

              <ARTIST>Simply Red</ARTIST>

              <COUNTRY>EU</COUNTRY>

              <COMPANY>Elektra</COMPANY>

              <PRICE>7.20</PRICE>

              <YEAR>1985</YEAR>

       </CD>

       <CD>

              <TITLE>Red</TITLE>

              <ARTIST>The Communards</ARTIST>

              <COUNTRY>UK</COUNTRY>

              <COMPANY>London</COMPANY>

              <PRICE>7.80</PRICE>

              <YEAR>1987</YEAR>

       </CD>

       <CD>

              <TITLE>Unchain my heart</TITLE>

              <ARTIST>Joe Cocker</ARTIST>

              <COUNTRY>USA</COUNTRY>

              <COMPANY>EMI</COMPANY>

              <PRICE>8.20</PRICE>

              <YEAR>1987</YEAR>

       </CD>

</CATALOG>

2.用文本编辑器建一文件:test.html,内容如下:

<html>

<title>javascrip and html read the xml data</title>

<body>

<center>

<!—javascript读取xml中的数据-->

<xml id="mydso" src="cd_catalog.xml"></xml>

<script language="javascript">

var node=mydso.lastChild;

//弹出对话框,提示xml中的数据

alert(node.lastChild.text)

//输出xml中的数据

document.write(node.lastChild.text)

</script>

<!--html读取xml中的数据并输出到表格中-->

<!--此时设置xml标签的idsrc属性-->

<xml id="AB" src="cd_catalog.xml">

<!--xml也可包含在html中,此时不用设置上面的src属性-->

<!--

       <CATALOG>

              <CD>

                     <TITLE>Empire Burlesque</TITLE>

                     <ARTIST>Bob Dylan</ARTIST>

                     <COUNTRY>USA</COUNTRY>

                     <COMPANY>Columbia</COMPANY>

                     <PRICE>10.90</PRICE>

                     <YEAR>1985</YEAR>

              </CD>

              <CD>

                     <TITLE>1999 Grammy Nominees</TITLE>

                     <ARTIST>Many</ARTIST>

                     <COUNTRY>USA</COUNTRY>

                     <COMPANY>Grammy</COMPANY>

                     <PRICE>10.20</PRICE>

                     <YEAR>1999</YEAR>

              </CD>

       </CATALOG>

      

       -->

</xml>

<!--读取xml数据,设置datasrc属性为上面的xmlid-->

<table border="2" datasrc="#AB">

<tr>

<td><span datafld="TITLE"></span></td>

<td><span datafld="ARTIST"></span></td>

<td><span datafld="COUNTRY"></span></td>

<td><span datafld="COMPANY"></span></td>

<td><span datafld="PRICE"></span></td>

<td><span datafld="YEAR"></span></td>

</tr>

</table>

</center>

</body>

</htmL>

3.输出效果

输出对话框

 

输出表格数据

 

问题:

奇怪的是,在IE中测试test.html良好,在firefox中就啥也没有,开始以为不能成功,不知为什么,总觉得firefox不怎么好用,呵。

结论:

网页的相关的技术很多,jsp实现了用户和服务器的交互,javascript可以做出很好的效果,比如:很炫的菜单,ajax节省了用户和服务器的交互时产生的带宽,xml则实现了数据和数据显示的分离,所有的这些都可以理解为应用的需求,可以总结为一句话:网页应用有更方便的方法可以解决吗?

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值