给出以下xml
<rss>
<channel>
...
<pubDate>20/30/2099</pubDate>
...
<item>
...
<pubDate>10/30/2099</pubDate>
...
</item>
...
<item>
...
<pubDate>40/30/2099</pubDate>
...
</item>
...
</channel>
</rss>
如何有效地访问pudDate
和channel
中的items
作为数组,以及该数组中的pudDate
。
答案 0 :(得分:1)
使用 document.evaluate ,您可以使用xpath(只要您不需要IE)。这是我用它的功能:
function getFromXPath(expression,rootEl){
rootEl = rootEl || docbody;
var ret = []
,xresult = document.evaluate(expression, rootEl, null,
XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null)
,result = xresult.iterateNext();
while (result) {
ret[ret.length]= result;
result = xresult.iterateNext();
}
return ret;
}
在您的情况下expression
可能类似于"//channel/pubdate|channel/item/pubdate"
(对于树中的所有pubdates
)或"//chanel/items"
(对于item
中的所有rootEl
元素树),{{1}}是(xml)文档根目录。
此函数返回一个数组,其中包含xpath-expression所请求的元素。