Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按索引而不是标记获取XML元素_Javascript_Xml_Xmlhttprequest_Getelementsbytagname - Fatal编程技术网

Javascript 按索引而不是标记获取XML元素

Javascript 按索引而不是标记获取XML元素,javascript,xml,xmlhttprequest,getelementsbytagname,Javascript,Xml,Xmlhttprequest,Getelementsbytagname,我正在创建一个视频库,其中包含一个按视频类别划分的XML文档,例如: <video> <comedy> <url>bla</url> <title>blabla</title> </comedy> <action> <url>bla</url> <title>blabla<

我正在创建一个视频库,其中包含一个按视频类别划分的XML文档,例如:

<video>
    <comedy>
        <url>bla</url>
        <title>blabla</title>
    </comedy>

    <action>
        <url>bla</url>
        <title>blabla</title>
    </action>
</video>

布拉
布拉布拉
布拉
布拉布拉
等等。我使用XMLHttpRequest为我想要的类型获取ElementsByTagname(),它工作正常

我的问题是:我想创建一个“最新”类别,它只需从XML文件顶部选取前16个(或多个),而不考虑类别。有办法做到这一点吗?

试试这种方法

 xmlDoc.LoadXml(xml);

    XmlElement ele = xmlDoc.DocumentElement;

    if (ele.HasChildNodes)
    {
        for (int c = 0; c < ele.ChildNodes.Count; c++)
        {
            DisplayInfo(ele.ChildNodes[c]);
        }
    }


static void DisplayInfo(XmlNode node)
        {
            for (int a = 0; a < node.Attributes.Count; a++)
            {
                Console.WriteLine(node.Attributes[a].Name + " : " + node.Attributes[a].Value);
            }

            Console.WriteLine(node.Value);

            for (int c = 0; c < node.ChildNodes.Count; c++)
            {
                DisplayInfo(node.ChildNodes[c]);
            }
        }
xmlDoc.LoadXml(xml);
xmlement ele=xmlDoc.DocumentElement;
if(元素HasChildNodes)
{
for(int c=0;c
迭代根元素的childNodes,并检查该节点是否为元素节点(childNodes还将为空格返回textNodes)

在某些浏览器中,可能还有一个children属性,它只返回元素节点的子元素,但这不是标准,所以我不建议使用它

当您使用jQuery这样的库时,将更容易获得相同的结果,您只需要:

$('>*:lt(16)',xml.documentElement)
  .each(function(i,o){console.log(o.tagName);});

谢谢你的快速回复。我试图将子元素添加到数组中,但它似乎不起作用。基本上,在选择流派时,我有x=xmlDoc.getElementsByTagName(流派);然后我在那里和x一起工作。在你的while循环中,我把它改成了j
$('>*:lt(16)',xml.documentElement)
  .each(function(i,o){console.log(o.tagName);});