逐个标记获取(具有晦涩的字符)

时间:2010-10-04 10:23:48

标签: javascript

当标签名称包含一个晦涩的字符时,我可以使用一些帮助来定义获取标签名称的方法。

artist=(x[i].getElementsByTagName("content:encoded")[0].childNodes[0].nodeValue);

我尝试过但失败了:

artist=(x[i].getElementsByTagName("content" + : + "encoded")[0].childNodes[0].nodeValue);

目前这里有完整的js。我还希望获得每个项目中也存在的<content:encoded>标记的内容。

$(document).ready(function() {


if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","http://doobox.co.uk/rss/page1/files/blog.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 

x=xmlDoc.getElementsByTagName("item");

i=0;

$(document).ready(function() {
displayItem()
});



function displayItem()
{
artist=(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
title=(x[i].getElementsByTagName("category")[0].childNodes[0].nodeValue);
year=(x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue);
txt="Artist: " + artist + "<br />Title: " + title + "<br />Year: "+ year;
document.getElementById("ShowLatestBlog").innerHTML=txt;
}


$('.back').click(function() {
  if (i<x.length-1)
  {
  i++;
  displayItem();
  }
});



$('.forward').click(function() {
if (i>0)
  {
  i--;
  displayItem();
  }
});



});

2 个答案:

答案 0 :(得分:1)

假设您正在处理XML:

getElementsByTagNameNS('http://example.com/namespace/of/content', 'encoded');

另请参阅:a reference to the DOM method

答案 1 :(得分:0)

在尝试检索xml标记<content:encoded>的内容时,我实际上并没有找到像这样的完整标记名称,只是“编码”例如:

content=(x[i].getElementsByTagName("encoded")[0].childNodes[0].nodeValue);