在XML中查找文本字符串

时间:2011-08-01 18:21:18

标签: javascript jquery

如何找到具有特定文本值的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 个答案:

答案 0 :(得分:3)

您可以使用根XML元素作为其上下文调用:contains选择器:

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

您可以在this fiddle中看到结果。

答案 1 :(得分:1)

尝试$(xml).children('*:contains(“more data”)')

答案 2 :(得分: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支持。