2011-08-01 54 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支持。