Javascript 按索引而不是标记获取XML元素
我正在创建一个视频库,其中包含一个按视频类别划分的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<
<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);});