日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

xslt教程

XSLT 教程

XSLT 高級

XSLT 參考手冊

  • XSLT 實例
  • XSLT – 編輯 XML

    閱讀 (2483)

    XSLT - 編輯 XML


    存儲在 XML 文件中的數據可通過因特網瀏覽器進行編輯。


    打開、編輯并保存 XML

    現在,我們會為您展示如何打開、編輯及保存存儲于服務器上的 XML 文件。

    我們將使用 XSL 把 XML 文檔轉換到一個 HTML 表單中。XML 元素的值會被寫到 HTML 表單中的 HTML 輸入域。這個 HTML 表單是可編輯的。在被編輯完成后,數據會被提交回服務器,XML 文件會得到更新(這部分由 ASP 完成)。


    XML 文件和 XSL 文件

    首先,請看將被使用的 XML 文檔("tool.xml"):

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <tool>
    <field id="prodName">
    <value>HAMMER HG2606</value>
    </field>
    <field id="prodNo">
    <value>32456240</value>
    </field>
    <field id="price">
    <value>$30.00</value>
    </field>
    </tool>

    查看 XML 文件

    接著,請看下面的樣式表("tool.xsl"):

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
    <html>
    <body>
    <form method="post" action="edittool.html">
    <h2>Tool Information (edit):</h2>
    <table border="0">
    <xsl:for-each select="tool/field">
    <tr>
    <td><xsl:value-of select="@id"/></td>
    <td>
    <input type="text">
    <xsl:attribute name="id">
    <xsl:value-of select="@id" />
    </xsl:attribute>
    <xsl:attribute name="name">
    <xsl:value-of select="@id" />
    </xsl:attribute>
    <xsl:attribute name="value">
    <xsl:value-of select="value" />
    </xsl:attribute>
    </input>
    </td>
    </tr>
    </xsl:for-each>
    </table>
    <br />
    <input type="submit" id="btn_sub" name="btn_sub" value="Submit" />
    <input type="reset" id="btn_res" name="btn_res" value="Reset" />
    </form>
    </body>
    </html>
    </xsl:template>

    </xsl:stylesheet>

    查看 XSL 文件

    上面這個 XSL 文件會循環遍歷 XML 文件中的元素,并為每個 XML "field" 元素創建一個輸入域。XML "field" 元素的 "id" 屬性的值被添加到每個 HTML 輸入域的 "id" 和 "name" 屬性。每個 XML "value" 元素的值被添加到每個 HTML 輸入域的 "value" 屬性。結果是,可以得到一個包含 XML 文件中值的可編輯的 HTML 表單。

    然后,我們還有第二個樣式表:"tool_updated.xsl"。這個 XSL 文件會被用來顯示已更新的 XML 數據。這個樣式表不會輸出可編輯 HTML 表單,而是一個靜態的 HTML 表格:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
    <html>
    <body>
    <h2>Updated Tool Information:</h2>
    <table border="1">
    <xsl:for-each select="tool/field">
    <tr>
    <td><xsl:value-of select="@id" /></td>
    <td><xsl:value-of select="value" /></td>
    </tr>
    </xsl:for-each>
    </table>
    </body>
    </html>
    </xsl:template>

    </xsl:stylesheet>

    查看 XSL 文件


    ASP 文件

    在上面 "tool.xsl" 文件中,HTML 表單的 action 屬性的值是 "edittool.asp" 。

    "edittool.asp" 頁面包含兩個函數:loadFile() 函數載入并轉換 XML 文件,updateFile() 函數更新 XML 文件:

    <%
    function loadFile(xmlfile,xslfile)
    Dim xmlDoc,xslDoc
    'Load XML file
    set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
    xmlDoc.async = false
    xmlDoc.load(xmlfile)
    'Load XSL file
    set xslDoc = Server.CreateObject("Microsoft.XMLDOM")
    xslDoc.async = false
    xslDoc.load(xslfile)
    'Transform file
    Response.Write(xmlDoc.transformNode(xslDoc))
    end function

    function updateFile(xmlfile)
    Dim xmlDoc,rootEl,f
    Dim i
    'Load XML file
    set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
    xmlDoc.async = false
    xmlDoc.load(xmlfile)

    'Set the rootEl variable equal to the root element
    Set rootEl = xmlDoc.documentElement

    'Loop through the form collection
    for i = 1 To Request.Form.Count
    'Eliminate button elements in the form
    if instr(1,Request.Form.Key(i),"btn_")=0 then
    'The selectSingleNode method queries the XML file for a single node
    'that matches a query. This query requests the value element that is
    'the child of a field element that has an id attribute which matches
    'the current key value in the Form Collection. When there is a match -
    'set the text property equal to the value of the current field in the
    'Form Collection.
    set f = rootEl.selectSingleNode("field[@id='" & _
    Request.Form.Key(i) & "']/value")
    f.Text = Request.Form(i)
    end if
    next

    'Save the modified XML file
    xmlDoc.save xmlfile

    'Release all object references
    set xmlDoc=nothing
    set rootEl=nothing
    set f=nothing

    'Load the modified XML file with a style sheet that
    'allows the client to see the edited information
    loadFile xmlfile,server.MapPath("tool_updated.xsl")
    end function

    'If the form has been submitted update the
    'XML file and display result - if not,
    'transform the XML file for editing
    if Request.Form("btn_sub")="" then
    loadFile server.MapPath("tool.xml"),server.MapPath("tool.xsl")
    else
    updateFile server.MapPath("tool.xml")
    end if
    %>

    提示:假如您不了解如何編寫 ASP,請學習我們的 ASP 教程

    注意:我們正在轉換并更新位于服務器上的 XML 文件。這是一個跨平臺的解決方案。客戶端僅能獲得從服務器返回的 HTML - 而 HTML 可運行于任何瀏覽器。


    關閉
    程序員人生
    主站蜘蛛池模板: 亚洲欧美在线一区 | 国产精品久久久久久久久久久久久 | 国产综合亚洲精品一区二 | 日本aⅴ免费视频一区二区三区 | 国产不卡在线观看 | 黄色三级电影网站 | 日韩欧美国产视频 | 亚洲精品在线观看网站 | 国产一区二区免费在线 | 欧美日韩亚洲视频 | 欧美一区二区视频在线 | 在线免费观看av网站 | 日韩精品一区二区三区免费观看 | 瑟瑟视频在线观看 | 看全色黄大色黄大片女图片第一次 | 欧美亚洲高清 | 黄色高清免费 | 国产精品久久久久久久妇 | 日韩久久一区二区三区 | 精品久久久一区二区 | 亚洲精品在线观 | 国产成人精品一区二区三区在线 | 国产精品精品久久久 | 国产精品国产成人国产三级 | 人人九九精 | 91在线免费观看 | 欧美精品国产精品 | 中文字幕1区2区3区 三级电影网址 | 一区二区亚洲视频 | 日韩av在线中文字幕 | 久国久产久精永久网页 | 欧美一级黄色片 | 91精品国产综合久久香蕉最新版 | 91国内精品久久 | 午夜激情视频 | 青青草一区二区 | 国产精品久久国产三级国电话系列 | 精品伦精品一区二区三区视频 | 国产成人在线视频网站 | 天天操夜夜干 | 欧美日韩不卡 |