+ -
当前位置:首页 → 问答吧 → 关于html共享XML中的数据的问题。

关于html共享XML中的数据的问题。

时间:2003-08-26

来源:互联网

<table menudata="menu.xml" >        
  <tr>
    <td>
      <table>
        <tr>
          <td handle="menu01">
              <a href="#">主菜单01-菜单名称</a>
          </td>
        </tr>
      </table>
         :
         :
         :
——————————————————————————————————
象这段代码中,他引用了menu.xml这个文件中的数据,他为什么在<table>标记中用“menudata”这个关键字来引用“menu.xml”,又在<td>中用"handle"的方法来引用"menu.xml"中的“menu01”的标记项,这是用什么原理做到的?我们如何自由的调用XML文档中的数据?
请给与在下明示,谢谢!!
——————————————————————————————————
以下是xml中的部分内容:
——————————————————————————————————
<?xml version="1.0"?>
<!-- Modified by Crystal (BlueIdea.com/bbs) -->
<menu site="Blueidea.com" subsite="blueidea.com/bbs">
        <submenu handle="menu01">
                <item href="#" label="子菜单01-01"/>
                <item href="#" label="子菜单01-02"/>
        </submenu>

        <submenu handle="menu02">
                <item href="#" label="子菜单02-01" />
                <item href="#" label="子菜单02-02" />
                <item href="#" label="子菜单02-03" />
        </submenu>

        <submenu handle="menu03">
                <item href="#" label="子菜单03-01"/>
                <item href="#" label="子菜单03-02"/>
                <item href="#" label="子菜单03-03"/>
                <item href="#" label="子菜单03-04"/>
        </submenu>

        <submenu handle="menu04">
                <item href="#" label="子菜单04-01"/>
                <item href="#" label="子菜单04-02"/>
                <item href="#" label="子菜单04-03"/>
                <item href="#" label="子菜单04-04"/>
                <item href="#" label="子菜单04-05"/>
        </submenu>

        <submenu handle="menu05">
                <item href="#" label="子菜单05-01"/>
                <item href="#" label="子菜单05-02"/>
                <item href="#" label="子菜单05-03"/>
                <item href="#" label="子菜单05-04"/>
                <item href="#" label="子菜单05-05"/>
                <item href="#" label="子菜单05-06"/>
        </submenu>
</menu>

——————————————————————————————————————

作者: useway   发布时间: 2003-08-26


这招我最喜欢用的了:)
特别是了解 HTC 以后尤其是喜欢在 CSS 用
你什么时候在我写的脚本代码里发现

.flashDIV {
    startColor: #123456;
    finishColor: #654321;
}

就知道是什么意思了
你在 <table /> 标签中加入一个自定义的属性 snakevil
尝试使用 [table_id].snakevil 引用看看
呵呵

作者: snakevil   发布时间: 2003-08-27

sorry,我还不太明白您的意思,您是不是说这样:

1、建立一个xml文件如下:

<?xml version="1.0"?>
<snakevil site="Blueidea.com" subsite="blueidea.com/bbs">
        <submenu handle="menu01">
                <item href="#" label="子菜单01-01"/>
                <item href="#" label="子菜单01-02"/>
        </submenu>
</menu>

2、在html中引用如下:

<HTML>
<BODY>
<TABLE>
<TR><TD snakevil="menu01"></TD>
</TR>
</TABLE>
</BODY>
</HTML>

作者: useway   发布时间: 2003-08-27


这也可以啊
因为 html 4.0 的扩展性
html 并不对非标准的属性进行排斥
所以在你列举的 <TD id="oRef" snakevil="menu01"></TD> 中
使用 document.all("oRef").snakevil 可以得到 menu01 的值
这意味着什么?

当你将自己的组件或者函数写完以后
你可以利用 snakevil 这样一个非标准属性
通过你自己完成的函数
获得意想不到的效果
上面的例子中
snakevil 这个属性看起来是毫无意义的

但如果你有这样一个函数,用来专门处理 snakevil 属性指定的 xml 片断
// 前面获得 xml 数据的部分
var oXml = new ActiveXObject("Msxml2.DOMDocument.4.0");
oXml.async = false;
oXml.load("123.xml");
......
// 获得该表格所要表现的 xml 数据
var sSect = document.all("oRef").snakevil;
// 写成 getAttribute("snakevil") 更好
var oSect = oXml.selectSingleNode("//submenu[@handle='" + sSect + "']");
// 将得到的片断根据需要进行处理从而显示
......

你觉得呢?
至少别人没看到你的函数前
不是莫名其妙就是羡慕不已
真炫!

作者: snakevil   发布时间: 2003-08-28

真炫! 可惜看得俺一头雾水...... >_<
看来俺还是太菜.....没够资格来这逛啊.

作者: ※潇洒※   发布时间: 2003-09-03