2011-08-01 127 views
3

我如何找到具有特定文本值的xml節點?在XML中查找文本字符串

例如我想要做這樣的事情這是不工作:

var xml = "<data><itemB>more data</itemB><itemC>yes, more data</itemC><itemA>some data</itemA></data>"; 

var searchString = "more data"; 

var foundin = $(xml + ":contains(" + searchString + ")"); 

回答

3

你可以爲它的上下文根XML元素調用:contains選擇:

var foundin = $(":contains(" + searchString + ")", xml); 

你可以看到結果在this fiddle

1

嘗試$(XML)。兒童( '*:包含( 「更多數據」)')

1

這些傢伙打我給它,但這裏是我所做的例子。

<script> 
     $(function(){ 
      var xml = "<data><itemB>more data</itemB><itemC>yes, more data</itemC><itemA>some data</itemA></data>"; 
      var query = "more data"; 
      $(":contains(" + query + ")", xml).each(function(){ 
       alert(this.localName); //show node name 
      }); 
     }); 
    </script> 

編輯 我假設你正在試圖獲得與查詢文本中的XML節點。您可能想使用nodeName而不是localName來獲得更好的IE支持。