XML数据岛

2007年12月12日 星期三 上午 10:50

这几天超级无聊+烦.

坐上冷板凳了.遇到些不重视.NET的人..想起就火大.

上午看了下XML数据岛的, 这个东西可能以后会得到很大的应用,代码也很简单,就是通过一点点的JS来访问XML中的数据,

XML:

<?xml version="1.0" encoding="UTF-8"?>
<users>
<user id="1" name="张三" age="24" sex="男"></user>
<user id="2">
    <name>李四</name>
    <age>27</age>
    <sex>女</sex>
</user>
<user id="3">
    <name>王五</name>
    <age>32</age>
    <sex>女</sex>
</user>
</users>

这里可以看到第一条和后面两条的格式是不一样的,也就是说数据岛可以访问这两种格式的XML,再看页面:

<table>
        <tr>
            <td>
                ID</td>
            <td>
                <input type="text" id="id" datasrc="#myUser" datafld="id" />
            </td>
        </tr>
        <tr>
            <td>
                姓名
            </td>
            <td>
                <input type="text" id="txtName" datasrc="#myUser" datafld="name" />
            </td>
        </tr>
        <tr>
            <td>
                性别
            </td>
            <td>
                <input type="text" id="txtSex" datasrc="#myUser" datafld="sex" />
            </td>
        </tr>
        <tr>
            <td>
                年龄
            </td>
            <td>
                <input type="text" id="txtAge" datasrc="#myUser" datafld="age" />
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="button" id="p" onclick="Previous()" value="前一条" />
                <input type="button" id="next" onclick="Next()" value="后一条" />
            </td>
        </tr>
    </table>

主要部分就是一个表,再看头文件:

<xml src="users.xml" id="myUser">
    </xml>

    <script type="text/javascript">
   
    function Previous()
    {
        if(!myUser.recordset.EOF)
        {
             myUser.recordset.MovePrevious();
             if(myUser.recordset.BOF)
             {
                myUser.recordset.MoveFirst();  
             }
        }
    }
   
    function Next()
    {
        if(!myUser.recordset.BOF)
        {
            myUser.recordset.moveNext();
            if(myUser.recordset.EOF)
            {
                myUser.recordset.moveLast();  
            }
        }
    }
    </script>

这一堆放到HEAD中间,

不难看出,头文件里是可以引用XML的.只要给一个ID和一个SRC, 在表格中, datasrc="#myUser" datafld="sex"是没用过的,datasrc是表示绑定的数据源,正是上面XML的ID,datafld表示显示的节点属性,再则就是那两个JS方法了,这里简单说一下:

recordset记录集,moveLast指针移到最后,MoveFirst最前,moveNext向下,MovePrevious向上.

有两个要说明一下,不然觉得很怪,

BOF:当前记录是否在集合的第一条之前,BOOL值,

EOF:当前记录是否在集合的最后条之前,BOOL值,

这下就明白了吧~~

这个可以通过JS访访问XML.更多操作网上可以找到,可以结合ASP.NET做很多的事啦~

posted @ 2008-02-01 10:47  point.deng  阅读(373)  评论(0编辑  收藏  举报