目前共有3篇帖子。
您的瀏覽不支持XML解析器或加載XML文件時出錯
1樓 巨大八爪鱼 2010-10-5 22:48
<html>
 <head>
  <title>創建與添加節點</title>
  <meta http-equiv="content-type" content="text/html;charset=gb2312">
  <script language="javascript" type="text/javascript">
  <!--
   //加載XML文件的函數
   function loadXML(xmlFile)
   {
    var _xmlDoc = null;
    
    if(window.ActiveXObject)
    {
     _xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    }
    else
    {
     try
     {
      _xmlDoc = document.implementation.createDocument("","",null);
     }
     catch(ex)
     {
      alert(ex.message);
      _xmlDoc = null;
     }
    }
    
    if (_xmlDoc!=null)
    {
     _xmlDoc.async = false;
     try
     {
      _xmlDoc.load(xmlFile);
     }
     catch(ex)
     {
      alert(ex.message);
      _xmlDoc = null;
     }
    }
    return _xmlDoc;
   }
   
   //遍歷XML文檔
   function outText(_xmlDoc)
   {
    var _rootNode = _xmlDoc.documentElement;
    var _itemNodes = _rootNode.childNodes;
    
    for (i=0;i<_itemNodes.length;i++)
    {
     document.write("<br>");
     
     var _attrNode = _itemNodes[i].getAttributeNode("id");
     if (_attrNode!=null)
     {
      document.write("編號:",_attrNode.value,"<br>");
     }
     else
     {
      document.write("編號:無<br>");
     }
     
     var _childs = _itemNodes[i].childNodes;
     for (j=0;j<_childs.length;j++)
     {
      if (_childs[j].nodeType==1)
      {
       document.write(_childs[j].nodeName,":",_childs[j].firstChild.nodeValue,"<br>");
      }
      else if (_childs[j].nodeType==8)
      {
       document.write("注釋:",_childs[j].nodeValue,"<br>");
      }
     }
    }
   }
   
   //加載XML文件
   var xmlDoc = loadXML("sample.xml");
   
   if (xmlDoc!=null)
   {
    document.write("添加節點前的XML文檔內容。");
    outText(xmlDoc);
    
    //創建元素節點:
    var itemNode = xmlDoc.createElement("Item");
    var elePoemNode = xmlDoc.createElement("詩名");
    var eleAuthorNode = xmlDoc.createElement("作者");
    var eleContentNode = xmlDoc.createElement("內容");
    
    //創建屬性節點:
    var attrNode = xmlDoc.createAttribute("id");
    //設置屬性節點的值
    attrNode.nodeValue = "003";
    
    //在<作者>節點上添加屬性
    eleAuthorNode.setAttribute("字","子厚");
    
    //創建文本節點:
    var textPoemNode = xmlDoc.createTextNode("江雪");
    var textAuthorNode = xmlDoc.createTextNode("柳宗元");
    var textContentNode = xmlDoc.createTextNode("千山鳥飛絕,萬徑人蹤滅。孤舟蓑笠翁,獨釣寒江雪。");
    
    //創建注釋節點:
    var commentNode = xmlDoc.createComment("這是柳宗元被貶到永州之後寫的詩,借寒江獨釣的漁翁,抒發自己孤獨鬱悶的心情。");
    
    //將屬性節點附加到<Item>節點上
    itemNode.setAttributeNode(attrNode);
    
    //將文本節點附加到元素節點上
    elePoemNode.appendChild(textPoemNode);
    eleAuthorNode.appendChild(textAuthorNode);
    eleContentNode.appendChild(textContentNode);
    
    //將<詩名>、<作者>、<內容>和注釋節點附加到<Item>節點上
    itemNode.appendChild(elePoemNode);
    itemNode.appendChild(eleAuthorNode);
    itemNode.appendChild(commentNode);
    itemNode.appendChild(eleContentNode);
    
    //將<Item>節點添加到根節點上
    xmlDoc.documentElement.appendChild(itemNode);
    
    document.write("<br>添加節點後的XML文檔內容。");
    outText(xmlDoc);
    
    //輸出使用setAttributeNode()方法添加的屬性
    var AuthorNode = xmlDoc.documentElement.childNodes[2].childNodes[1];
    document.write(AuthorNode.firstChild.nodeValue,",字:",AuthorNode.getAttribute("字"));
   }
   else
   {
    alert("您的瀏覽不支持XML解析器或加載XML文件時出錯。");
   }
  -->
  </script>
 </head>
 <body>
 </body>
</html>
2樓 巨大八爪鱼 2010-10-5 22:49
<html>
 <head>
  <title>求圓的面積</title>
  <meta http-equiv="content-type" content="text/html;charset=gb2312">
  <script type="text/javascript" language="javascript">
  <!--
   function area()
   {
    var myArea = 2 * myform.myR.value * Math.PI;
    alert("圓面積為:"+myArea);
   }
  -->
  </script>
 </head>
 <body>
  <form name="myform">
   請輸入圓的半徑:<input type="text" name="myR" size="4">
   <input type="button" value="確定" onclick="area()">
  </form>
 </body>
</html>
3樓 巨大八爪鱼 2010-10-5 22:50
<html>
 <head>
  <title>修改字符串中的某一個字符</title>
  <meta http-equiv="content-type" content="text/html;charset=gb2312">
  <script type="text/javascript" language="javascript">
  <!--
   //修改字符串的函數
   //oldStr為要修改的字符串,changChar為用於替換的字符,charIndex為要替換的字符在字符串中的位置
   function changStr(oldStr,changChar,charIndex)
   {
    //獲取要替換的字符前的所有字符
    var returStr = oldStr.substr(0,charIndex);
    //將上一步得到的字符串加上用於替換的字符串
    returStr = returStr + changChar;
    //再將上一步中得到的字符串加上要替換的字符後的所有字符串
    returStr = returStr + oldStr.substr(charIndex+1);
    //返回結果
    return returStr;
   }
   
   var str = "修改字符串中的某一個字符";
   //輸出原字符串
   document.write("原字符串:",str,"<br>");
   //替換字符串的中第3個字符
   var newStr = changStr(str,"好",2);
   document.write("修改後的字符串:",newStr);
  -->
  </script>
 </head>
 <body>
 </body>
</html>

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2024 Arslanbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。