根据某些标记ID从xml中搜索值

时间:2013-11-29 07:02:24

标签: javascript xml search

<?xml version="1.0" encoding="UTF-8"?>
<ChannelListResp>
    <counttotal>8</counttotal>
    <channellist>
        <channel>
            <id>1</id>
            <name>Channel 1</name>
        </channel>
        <channel>
            <id>2</id>
            <name>Channel 2</name>
        </channel>
        <channel>
            <id>3</id>
            <name>Channel 3</name>
        </channel>
        <channel>
            <id>4</id>
            <name>Channel 4</name>
        </channel>
        <channel>
            <id>5</id>
            <name>Life 5</name>
        </channel>
    </channellist>
</ChannelListResp>

如何使用javascript获取基于id的频道名称。我把这个xml作为对象返回。

例如,如果我通过4,那么它应该返回第4频道。

2 个答案:

答案 0 :(得分:1)

function parseXML(){
    try{
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOC");
    }catch(e){
        try{
            var xmlDoc = document.implementation.createDocument("", "", null);
        }catch(e){ return;}
    }
    return xmlDoc;
}

var xmlDoc = parseXML();
xmlDoc.async = false;
xmlDoc.load("foo.xml");
var channellist = xmlDoc.getElementByTagName("channel");

现在您可以获得所需的频道,例如:

var channel_3 = channellist[2];

答案 1 :(得分:0)

尝试将xml转换为json对象&amp;那么你可以使用jquery grep()函数来获得你需要的东西。