2014-11-21 58 views
2

我有我需要從JavaScript內查詢的XML內容。使用一個簡單的例子,這裏是XML:匹配一個JavaScript變量的XPath表達式

<books> 
    <book> 
    <title>ABC</title> 
    <author>Smith, John</author> 
    <subject>Science Fiction</subject> 
    </book> 
    <book> 
    <title>DEF</title> 
    <author>Jones, Tom</author> 
    <subject>Biography</subject> 
    </book> 
</books> 

這個XML在'xmlDoc'變量中被引用。

現在我想找到所有節點的子節點等於通過URL參數或其他一些動態選擇的方法傳入的值。這個類別存儲在一個名爲'category'的變量中。

我可以創造像一個計算表達式:

var result = xmlDoc.evaluate('/books/book[category="Biography"]', xmlDoc, null, XPathResult. ANY_TYPE,null); 

,如果我進入靜態類別值。

但是,如何檢查節點的值是否與'category'變量的值匹配?我可能需要以某種方式逃避「類別」變量,但我無法弄清楚。

+1

我缺少的東西,或爲什麼你會不只是用'「/書籍/書[類別=「」 +分類+「」]」'? – t0mppa 2014-11-21 20:10:33

+0

你不會錯過任何東西。但顯然我是,我的大腦。 :)對不起,當答案很簡單時,我正在尋找更復雜的東西。謝謝! – 2014-11-21 20:15:31

+0

@ t0mppa你應該添加,作爲答案,以便它可以被接受。 – 2014-11-21 20:22:12

回答