国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > XML > 正文

解析XSL JavaScript+XMLDOM的使用

2024-09-05 20:54:52
字體:
來源:轉載
供稿:網友
對于XSL而言,xml節點下的內容只要是配對的<>和</>不影響xml文檔的顯示的,這些都會被省略,沒有任何樣式意義(即使是html中的tag)。

  對于xml,xsl最關鍵的問題是:tag符的匹配問題。

  對于xsl的顯示:必須是一個父節點下,幾個平等的子節點。當子節點們在同一父節點下多次出現的,這時要考慮增加一層相同的節點,并且在把原來的節點按成對出現或獨自出現的原則放到該層節點之下。

  對于xsl支持xpath層次結構,對于用xsl來顯示xml文檔,就要根據它來"爬樹".(記住:首/為根,單/為層,//為樹(//代表整個文檔,.//以當前節點為根), ..為父,@為屬性,首串為子) 當然還可以通過<xsl:apply-templates select="">,<xsl:template match="">來實現節點之間的顯示轉換;而且template還可以級聯向下調用.當需要進行排序的時候,<xsl:for-each select="./dk" order-by="chua/jfdjf">...</for-each>這是升序排序,當需要降序排序的時候,在order-by的值前加-即可,即<xsl:for-each select="./dk" order-by="-chua/zi">...</for-each>

  當在javascript中利用xml和xsl進行頁面,顯示時,要注意兩個問題:

  1.javascript頁面緩存,可能會影響到頁面的顯示。可以通屏蔽js的方式,而是連接到一個由jsp/servlet的生成.js文件(并response.setheader("cache-control","on-cache")等.然后在主頁面中用javascript連接到該javascript文件。

  即:<script src='sript.jsp' type="jsp/JavaScript"/>即可。

  2.對于使用服務器生成或存在的xml或xsl文件或字符串來顯示頁面時。必須指定這些文件或字符串讀取和分析的方式為: doc.async=false;//不許異步的讀取數據

doc.validateOnParse=false;//不分析有效性

  否則會出現在javascript中出現:'完成該操作所需的數據還不可使用'的頁面錯誤。

  用xmlhttp請求時,用.send(doc)方法。例

var xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open("post","http://59.64.71.16:7001/MagazineResearchStageWeb/MagazineInfoResearch.jsp",false);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-Length",root.length);
xmlhttp.send(root); alert(root);
document.write(xmlhttp.responseText);

  注意:不要用.sendXML方法,不支持。而且.send()既可以是xml文檔對象,也可以是字符串。在非框架內的html頁面使用XMLHTTP技術發送xml時可能會出錯的,需要調低安全等級才能使用,這是因為xmlhttp的一些比較強的功能,威脅到機器的安全。像以前的msxml就支持訪問本地文件系統上提交的xml文檔,并上發送到服務器。現在就不行。這些只能說明客戶端的處理功能越強,安全性就越低。這也是出現客戶安全認證簽名的原因之一!

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芜湖县| 通山县| 天等县| 托克逊县| 西平县| 临沭县| 镇江市| 英吉沙县| 宝山区| 武宁县| 云南省| 安化县| 德化县| 宜宾县| 威海市| 醴陵市| 宜城市| 三门峡市| 呼伦贝尔市| 加查县| 宁安市| 宿松县| 家居| 衡阳市| 久治县| 汝州市| 江华| 宣汉县| 南投县| 杭锦旗| 汶上县| 潼南县| 出国| 阿克陶县| 岚皋县| 宜川县| 陆河县| 依兰县| 甘谷县| 三台县| 建始县|