xml文件是
<?xml version="1.0" encoding="GB2312"?>
<item>
      <class id="netease">
      <subclass url="http://www.163.com"></subclass>
      </class>
      <class id="sohu">
      <subclass url="http://www.sohu.com"></subclass>
      </class>
</item>向读取xml 比如readxml('sohu');函数,使用这样函数直接打开http://www.sohu.com<a href="#" onclick="readxml('sohu')">点击</a>点击链接,打开http://www.sohu.com这样的js应该怎样去考虑那?

解决方案 »

  1.   

    xml.xml 文件本身存成UFT-8格式
    ------------------------
    <?xml version="1.0"?>
    <item>
          <class id="netease">
          <subclass url="http://www.163.com"></subclass>
          </class>
          <class id="sohu">
          <subclass url="http://www.sohu.com"></subclass>
          </class>
    </item>
    -----------<script>
    var loaded = false;
    var oDoc = new ActiveXObject("Msxml2.DOMDocument");
    oDoc.async = true;
    oDoc.onreadystatechange = doload;
    oDoc.load("xml.xml");function doload(){
      if(oDoc.readyState==4){loaded = true;}
    }function readxml(n){
      if(loaded){
        var oNode = oDoc.selectSingleNode("//class[@id='" + n + "']/subclass");
        var s = oNode.getAttribute("url");
        location.href = s;
      }
    }</script>
    <a href="#" onclick="readxml('sohu')">点击</a>
      

  2.   

    to:hookee()你的这个方法取不到值哦,页面会报错的。
      

  3.   

    我ie7测试过,确保xml.xml要存为utf-8,encoding去掉。或者把xml文件拉到浏览器里,不报错就ok了.
      

  4.   

    加了出错处理,可以看下哪里错
    <script>
    var loaded = false;
    var oDoc = new ActiveXObject("Msxml2.DOMDocument");
    oDoc.async = true;
    oDoc.onreadystatechange = doload;
    oDoc.load("xml.xml");
    function doload(){
      if(oDoc.readyState==4){
        if(oDoc.parseError.errorCode!=0) {
         alert("Error:" + oDoc.parseError.reason);
         return false;
        }
       else loaded = true;
      }
    }function readxml(n){
      if(loaded){
        var oNode = oDoc.selectSingleNode("//class[@id='" + n + "']/subclass");
        var s = oNode.getAttribute("url");
        location.href = s;
      }
    }</script>
    <a href="#" onclick="readxml('sohu')">点击</a>
      

  5.   

    location.href = s;
    在这处理成打开一个新链接,应该怎么处理啊
      

  6.   

    location.href = s;改为
    window.open(s);