分享

HTML表格中绑定显示XML文档内容的简单实例

 趋明 2012-03-12
分类: w3c技术 111人阅读 评论(0) 收藏 举报

HTML表格中绑定显示XML文档内容的简单实例

分为下列几个步骤:

第一步:创建一个存储数据信息的xml文件,比如 order.xml

<?xml version="1.0" encoding="utf-8" ?>
<orders>
  <order>
     <customerID>c0500069</customerID>
     <order_date>20050517</order_date>
     <order_status>pending</order_status>
     <items>
         <item>
            <bookID>001</bookID>
            <quantity>10</quantity>
            <item_status>pending</item_status>
         </item>
     </items>     
  </order>
    <order>
     <customerID>c0500701</customerID>
     <order_date>20050512</order_date>
     <order_status>pending</order_status>
     <items>
         <item>
            <bookID>002</bookID>
            <quantity>30</quantity>
            <item_status>pending</item_status>
         </item>
     </items>     
  </order>
</orders>

第二步:写一个显示样式的HTML,比如order.html

<html>
<head><title>使用表格绑定XML</title></head>
<body>
<xml id="XMLdata" src="order.xml"></xml>     <!--在这边引入所要显示的xml文件,并定义一个id.-->

<center>
<b><font size="4">
HTML表格中绑定显示XML文档内容
</font>
</b>
</center>
<table datasrc="#XMLdata" border="1" cellpadding="5" align="center">
<thead>
  <th>customerID</th>
  <th>order_date</th>
  <th>order_status</th>
  <th>items</th>
</thead>
<tr>
    <td><span datafld="customerID"></span></td> <!--在这边写上要显示的xml标签,datafld的值与xml标签对应
-->
    <td><span datafld="order_date"></span></td> <!--以内嵌的形式将显示所有的信息,只有span,div能支持xml在浏览器中的解析。-->
    <td><span datafld="order_status"></span></td>
    <td><span datafld="items"></span></td>          <!--有子标签数据的将不予显示-->
</tr>
</table>
<p align="center">单行数据显示</p>
<p align="center">
customerID:<span datasrc="#XMLdata" datafld="customerID"></span><br/>
order_date:<span datasrc="#XMLdata" datafld="order_date"></span><br/>
order_status:<span datasrc="#XMLdata" datafld="order_status"></span><br/>
itmes:<span datasrc="#XMLdata" datafld="items"></span>
</p>
</body>
</html>

 

第三步:测试,部署在IIS,或tomcat容器中。我部署在tomcat中进行了测试。结果如下:

 

 

通过测试发现,items这一表格栏,没有显示出数据,这是为什么呢?

究其原因,可以看到是因为items下有子标签,即

<items>
         <item>
           
<bookID>002</bookID>
            <quantity>30</quantity>
            <item_status>pending</item_status>
         </item>
     </items>     
想想也是吧,通过一个<span datafld="itmes"></span>只能显示一个数据单元,而子标签的数据是如何显示的。可以通过下面的方法来解决这个问题:

修改两个地方:

<html>
<head><title>使用表格绑定XML</title></head>
<body>
<xml id="XMLdata" src="order.xml"></xml>
<center>
<b><font size="4">
HTML表格中绑定显示XML文档内容
</font>
</b>
</center>
<table datasrc="#XMLdata" border="1" cellpadding="5" align="center">
<thead>
  <th>customerID</th>
  <th>order_date</th>
  <th>order_status</th>
  <th>
   
  <table border="1">                         <!--字段行,内嵌表格-->
       <tr>
          <td colspan="3">       
          <p align="center"><b>items</b>
          </td>
       </tr>
       <tr>
           <td>bookID</td>
           <td>quantity</td>
           <td>item_status</td>
       </tr>
    
    
     </table>
 
 
  </th>
</thead>
<tr>
    <td><span datafld="customerID"></span></td>
    <td><span datafld="order_date"></span></td>
    <td><span datafld="order_status"></span></td>
   
<td><table datasrc="#XMLdata" datafld="items">
    <tr><td> <div datafld="$text"></div></td></tr>              <!--注意$text,通过它可以显示多个数据-->
    </table></td>
</tr>
</table>
</body>
</html>

这样就有利的解决了上面存在的问题。运行结果如下:

 

总结:通过这个实例,利用HTML可以有效地将XML中存储的数据,内容样式化的显示在页面上。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多