中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

怎么將XML數據轉換成HTM

本篇內容介紹了“怎么將XML數據轉換成HTM”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

創新互聯建站專業為企業提供雙河網站建設、雙河做網站、雙河網站設計、雙河網站制作等企業網站建設、網頁設計與制作、雙河企業網站模板建站服務,10年雙河做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

使用一個簡單的XSL樣式表就可以將XML數據轉換成HTML。隨著XML規范的不斷演進,在新的版本中滿足每個人的需要似乎已經成為必要;假設有一個表示一個頁面內容的XML數據,現在想將其內容轉換成布局。下面是想要轉換的XML:
<?xmlversion='1.0'?> 
<?xml-stylesheettype="text/xsl"href="article.xsl"?> 
<xml> 
<folders> 
<folder> 
<text>Folder1</text> 
<files> 
<file> 
<text>File1</text> 
<fields> 
<field> 
<data> 
<type>string</type> 
<length>50</length> 
<value>somedata</value> 
</data> 
</field> 
</fields> 
</file> 
</files> 
</folder> 
</folders> 
</xml> 
 這個內容表示一組文件夾、文件和域。每個文件夾包含文件,每個文件包含用于輸入數據的域。文件夾組中的每個文件夾都將表現為一個 TABLE 的第一行的一個 TR 元素和一個 TD 元素。文件組中的每個文件都將表示為嵌套在文件夾 TR 元素中的一個 TABLE 元素的第一行的一個 TR 元素和一個 TD 元素。域組中的每個域都將在相關的文件中表現為一個 INPUT。
下面是用于這個轉換的 XSL:
<?xmlversion="1.0"?> 
<xsl:stylesheet 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"version="1.0" 
xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
xmlns:fn=http://www.aaa.com/aaa> 
<xsl:outputmethod="html"/> 
<msxsl:scriptlanguage="JScript"implements-prefix="fn"> 
functiongetElementCount(nodelist,what){ 
varrtrn=0; 
rtrn=nodelist[0].parentNode.selectNodes(what).length; 
return(rtrn 1);//1isaddedforfillerTD 

</msxsl:script> 
<xsl:templatematch="/"> 
<TABLECELLSPACING="0"CELLPADDING="0" 
WIDTH="100%"BORDER="0"ID="tblRoot"NAME="tblRoot" 
style="table-layout:fixed;"> 
<TR> 
<xsl:for-eachselect="xml/folders/folder"> 
<xsl:elementname="TD"> 
<xsl:attributename="style">width:55px</xsl:attribute> 
<xsl:value-ofselect="text"/> 
</xsl:element> 
</xsl:for-each> 
<TD></TD> 
</TR> 
<xsl:for-eachselect="xml/folders/folder"> 
<TR> 
<xsl:elementname="TD"> 
<xsl:attributename="colspan"> 
<xsl:value-ofselect="fn:getElementCount(.,'folder')"/> 
</xsl:attribute> 

<TABLECELLSPACING="0"CELLPADDING="0" 
WIDTH="100%"BORDER="0"style="table-layout:fixed;"> 
<TR> 
<xsl:for-eachselect="files/file"> 
<xsl:elementname="TD"> 
<xsl:attributename="style">width:55px;</xsl:attribute> 
<xsl:value-ofselect="text"/> 
</xsl:element> 
</xsl:for-each> 
<TD></TD> 
</TR> 
<xsl:for-eachselect="files/file"> 
<TR> 
<xsl:elementname="TD"> 
<xsl:attributename="colspan"> 
<xsl:value-ofselect="fn:getElementCount(.,'file')"/> 
</xsl:attribute> 
<xsl:for-eachselect="fields/field"> 
<xsl:elementname="INPUT"> 
<xsl:attributename="type">text</xsl:attribute> 
<xsl:attributename="maxlength"> 
<xsl:value-ofselect="data/length"/> 
</xsl:attribute> 
<xsl:attributename="value"> 
<xsl:value-ofselect="data/value"/> 
</xsl:attribute> 
</xsl:element><BR/> 
</xsl:for-each> 
</xsl:element> 
</TR> 
</xsl:for-each> 
</TABLE> 
</xsl:element> 
</TR> 
</xsl:for-each> 
</TABLE> 
</xsl:template> 
</xsl:stylesheet> 
 在 stylesheet 標記中,設置了幾個命名空間,包括定義所有xsl 轉換標記的xsl 命名空間。能夠讓我們創建可以在樣式表中使用的用戶函數的msxml 命名空間。使用它得到所有的子元素,以便得到一個 TD 標記的一個 COLSPAN 屬性集。用于加入一組用戶定義的函數的fn 命名空間,該命名空間由msxml:script element 創建。
然后,我們創建外部 TABLE 和第一個 TR。在 TR 中,為 XML 中指定的每個文件夾創建一個 TD。使用了 xsl:element 標記,因為它允許添加自定義屬性或者執行一個函數來為另一個 TD 元素中的 COLSPAN 屬性設置一個屬性。
在為每個文件夾創建了所需的 TD 之后,開始為每個文件夾創建 TR。只向這個TR 添加一個 TD,但是將它的 COLSPAN 屬性設為等于文件夾組中文件夾標記的數量再加一。多出的一是用來在一個固定布局樣式的 TABLE 中填充空格用的。
為了得到 COLSPAN,傳入當前的上下文(在這里由“.”指定)和計算的節點的名字。在函數中,得到當前的上下文,paraentNode,和 XPath 查詢中指定的節點的數量。然后函數返回這個數量加上一以填充 TD。
有了這個 TD,在其中嵌入另外一個 TABLE,該 TABLE 包含文件組中的每個文件。從這一點開始,其過程就與外部 TABLE 轉換一樣。最后的步驟是添加每個文件中的域。
一旦完成了通用布局,就可以開始添加用戶界面功能了,比如說隱藏掉其它的文件夾和文件行,直到用戶點擊了相關的選項卡。這一功能可以通過編寫支持這一功能的腳本來實現,添加一個 onclick xsl:attribute 元素到文件夾和文件 TD 元素,然后將它的值設置為腳本函數的名字。
最后,在通用功能完成之后,你可以添加class xsl:attributes 并在 STYLE 或 CSS 中添加相關的classNames 得到你想要的外觀。
這個例子為在部署 Web 數據解決方案中用到的 File-Folder-Field 視圖創建了一個基礎。

“怎么將XML數據轉換成HTM”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!

網頁標題:怎么將XML數據轉換成HTM
文章起源:http://www.2m8n56k.cn/article32/jjdssc.html

成都網站建設公司_創新互聯,為您提供企業建站做網站全網營銷推廣外貿網站建設外貿建站定制網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營
主站蜘蛛池模板: 欧美色xxxx| 日韩国产欧美视频 | 精品欧美一区二区三区在线 | www.黄.com| 三级手机在线观看 | 成人18免费网 | 精品国产免费观看久久久 | 最全精品自拍视频在线 | 日韩不卡在线 | 国产成人女人视频在线观看 | 亚洲福利精品一区二区三区 | 国产精品免费一区二区三区四区 | 高清性色生活片久久久 | 午夜影院h | 色综合久久88色综合天天提莫 | 久久99国产精一区二区三区! | 男人和女人的做刺激性视频 | 国产精品久久自在自线观看 | 国产午夜免费视频片夜色 | 亚洲精品美女在线观看播放 | 九九51精品国产免费看 | 国产亚洲综合精品一区二区三区 | 日本b站一卡二不卡 | 一级毛片美国一级j毛片不卡 | 男女男在线精品网站免费观看 | 国产免费亚洲 | 国产精品18久久久久久小说 | 最新亚洲一区二区三区四区 | 99日韩| 看欧美毛片一级毛片 | 怡红院在线观看视频 | 日韩亚洲欧美一区 | 美女黄影院| 最近中文字幕免费视频 | 国产日韩久久久精品影院首页 | 国产亚洲精品91 | 免费成人 | 国内久久 | 亚洲综合91社区精品福利 | 精品国产欧美另类一区 | 午夜视频在线观看一区二区 |