基于某个标记 ID 从 XML 中搜索值

search value from xml on the basis of some tag id

本文关键字:XML 搜索 ID 于某个      更新时间:2024-01-01
<?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。

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];

尝试将xml转换为json对象,然后你可以使用jquery grep((函数来获取你需要的东西。