感謝Bishiboosh和fmsf。由於 建議,我們打算通過XSL 這看起來更明顯 答案的問題(詳細 請閱讀下面的問題)。如何搜索XML中的關鍵字並向下滾動窗口?
我們不得不建立一個XSL將 搜索一個關鍵字,匹配節點 名稱/值,屬性名稱/值等 一切都在XML。
XML
<?xml version="1.0"?> <CustomerList> <Customer> <CustomerID>1111</CustomerID> <CompanyName>Sean Chai</CompanyName> <City>New York</City> <NewCustomer>N</NewCustomer> </Customer> <Customer> <CustomerID>1112</CustomerID> <CompanyName>Tom Johnston</CompanyName> <City>Los Angeles</City> <NewCustomer>N</NewCustomer> </Customer> <Customer> <CustomerID>1113</CustomerID> <CompanyName>Institute of Art</CompanyName> <City>Chicago</City> <NewCustomer>Y</NewCustomer> </Customer> </CustomerList>
XSL
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="@* | node()"> <xsl:copy> <xsl:choose> <!-- // We'll match the node/attribute name/values // with search text. If it is match to node // name/value we have to put a div/b tag around // it or it is match to attribute then the div/b // tag will be around it's node. --> <xsl:when test=""> <xsl:value-of select="" /> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="@* | node()"/> </xsl:otherwise> </xsl:choose> </xsl:copy> </xsl:template> </xsl:stylesheet>
我有在 XSL完成的問題。我們想幫助 完成任務。
謝謝。
嗨,
我已經在一個產品的基於Web的幫助系統添加一個功能。外觀和感覺與功能幾乎相同,就像我們在桌面軟件中看到的那樣,幫助在按F1時彈出。
我必須添加的功能是一個搜索功能,用戶輸入一個文本,一個Ajax將被調用,並且該請求將指向服務器,在那裏它將組成響應作爲XML,其中將包含XML模式列表。這已經完成了!除。
讓我先劃掉應用程序UI。所以,當我們用技術細節討論這個時,你會有更好的想法。
_________________________________________________
| Search |
|__________________| XML SCHEMA OPEN HERE ...
(1) FRAME A | Type here... | (2) FRAME B
|__________________|
| |
| . RESULT LINK 1 |
| . RESULT LINK 2 |
| . RESULT LINK 3 |
| |
| |
| |
| |
| |
它是如何工作的?搜索結果將顯示爲超鏈接(如上面的RESULT LINK 1 ... 3所示)。當用戶單擊其中一個鏈接時,模式將被加載到框架B中,並且瀏覽器滾動到搜索的關鍵字。
多了一個你需要知道的情況下提重要的事情,XML模式將直接提及在框架B.即
$(iframe).src = "XMLSchema.xml"
首先,讓我們假設幾乎所有的前期工作已經完成樣搜索,處理,化妝結果鏈接並點擊它們,我們就可以在正確的框架中獲得正確的模式(框架B)。
問題是,當XML模式加載到正確的框架時,它也應該滾動並突出顯示第一個搜索到的關鍵字。
我不認爲突出顯示是可能的,因爲文檔是XML格式的,正如我告訴框架B有一個XML文件的直接引用。但是,搜索和滾動有一個公平的概率?是?沒有?
你知道我怎樣才能滾動到XML文件中的搜索關鍵字?
謝謝。
P.S:如果您有任何查詢請評論。
我們如何通過XSL來做到這一點?你能解釋一下嗎? – 2010-01-06 13:35:57
謝謝。你有通過XSL與XML節點和屬性名/值匹配的漂亮代碼嗎?我已經更新了這個問題,在這裏我展示了一個示例XSL,但是我遇到了一個問題,以便爲它提供一個條件,然後在查找項目周圍遞增大膽標記。 – 2010-01-08 04:10:33