我有需要在javascript中查询的XML内容。要使用一个简单的例子,这里是XML:
<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在&#39; xmlDoc&#39;中引用。变量。
现在我想找到子节点等于通过URL参数传入的值的所有节点,或其他一些动态选择的方法。此类别存储在名为&#39; category&#39;。
的变量中我可以创建一个评估表达式,如:
var result = xmlDoc.evaluate('/books/book[category="Biography"]', xmlDoc, null, XPathResult. ANY_TYPE,null);
如果我静态输入类别值。
但是我如何检查节点的值是否与&#39;类别的值相匹配?变量?我可能需要逃避“&#39;类别&#39;在某种程度上变量,但我无法弄清楚。
答案 0 :(得分:3)
就像你concatenate Strings normally in JavaScript一样。这是通过使用+
操作:
var result = xmlDoc.evaluate('/books/book[category="' + category + '"]',
xmlDoc, null, XPathResult.ANY_TYPE, null);