我正在尝试使用Javascript从Yahoo Weather中提取数据(例如http://weather.yahooapis.com/forecastrss?w=9807&u=c)。
我查看了其他主题,包括Trying to pull in elements from Yahoo Weather XML和Trying to retrieve yahoo weather using jquery / php / xml以及Parsing XML namespaces?
我已经在我的服务器上设置了一个代理,因此Ajax可以抓取该文件,并且它打开正常(例如我可以编写documentElement)。但是,我在抓取诸如
之类的标签时遇到了问题<yweather:condition text="Mostly Cloudy" code="28" temp="5" date="Mon, 06 Feb 2012 10:00 am PST"/>
我认为这是因为它不是像
这样的贴身标签<ttl>60</ttl>
任何人都可以帮我吗?使用Javascript 感谢
var parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlDoc, "text/xml");
alert(xmlDoc.getElementsByTagName("ttl")[0].childNodes[0].nodeValue); //works
alert(xmlDoc.getElementsByTagName("yweather:location")[0].childNodes[0].getAttribute("city")); //doesn't
答案 0 :(得分:0)
再次阅读'解析XML命名空间'的答案。
您要查找的元素具有命名空间,因此您需要使用getElementsByTagNameNS
。