XML文檔搜索使用小結(2)_Xml教程
推薦:asp查詢xml的代碼實現無刷新 模糊查詢以下為引用的內容:<html><head><title>不刷新頁面查詢的方法</title><meta http-equiv="Content-Type"
在XML中尋找某個子節(jié)點,大家都知道怎么做了,我們現在在一個特殊的XML文件---XSL文件中去找一個子節(jié)點,這個應該怎么實現呢?
假設我現在有一個這樣的XSL文件:
< ?xml version="1.0" encoding="gb2312"?>
< xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
< xsl:preserve-space elements="codes"/>
< xsl:template match="/">
< xsl:apply-templates/>
< /xsl:template>
< xsl:template match="image">
< table align="{@location}">
< tr>
< td>
< img align="{@location}" alt="{text()}">
< xsl:attribute name="src">../FTP_Magazine/FTP_Issue/
< /img>
< /td>
< /tr>
< tr>
< td>
< center>
< xsl:apply-templates/>
< /center>
< /td>
< /tr>
< /table>
< /xsl:template>
< /xsl:stylesheet>
我們在asp.net中有兩個變量,我們需要XSL文件在Transform XML文件的時候采用這兩個變量。我們該如何去做呢?
我所采取的方法是先把XSL文件作為XML Document裝載進來,在使用之前,我們找到需要修改的節(jié)點,用我們的變量對其進行修改。這個時候我們查找這個節(jié)點的時候需要做些變動,代碼如下:
XmlNamespaceManager nsmanager = new XmlNamespaceManager(xslDoc.NameTable);
nsmanager.AddNamespace("xsl", "http://www.w3.org/1999/XSL/Transform");
xslDoc.SelectSingleNode("//xsl:attribute[@name='src']", nsmanager).InnerXml = 你所需要輸給的變量
也就是說對于類似../FTP_Magazine/FTP_Issue/這樣的節(jié)點,在我們查找以前,我們需要定義一個XmlNamespaceManager,用它我們就可以找到我們所需要的節(jié)點。
分享:XML入門教程:XML 瀏覽器支持幾乎所有的主流瀏覽器均支持XML和XSLT。 Mozilla Firefox 從1.0.2版本開始,Firefox就已開始支持XML和XSLT(包括CSS)。 Mozilla Mozilla含有用于XML解析的Expat,并支持顯示XML CSS
- 相關鏈接:
- 教程說明:
Xml教程-XML文檔搜索使用小結(2)
。