我正在使用jQuery来解析RSS提要。每个<item>
内都有一个名称空间的元素,例如我要选择的<content:encoded>
。如何在jQuery中选择它?
$(xml).find('item') works but $(xml).find('item content') does not.
答案 0 :(得分:6)
您是否通过Ajax加载xml?然后,确保服务器将内容类型设置为“text / xml”而不是“text / html”。
还要确保所需元素的标记名称确实是内容而不是其他内容(如内容:编码)。在这种情况下,尝试:
.find('item content\\:encoded')?
特殊字符:需要在jQuery选择器中进行转义。
答案 1 :(得分:3)
我意识到这个帖子已经相当陈旧了,但它是第一个在google搜索时使用jquery出现的。最简单的搜索方式是:
.find('[nodeName="content:encoded"]')
希望有人帮助。我花了最后几个小时试图找出一种访问这些标签的简单方法。
答案 2 :(得分:2)
.find('[nodeName="content:encoded"]')
它在Chrome和一些旧版浏览器中运行良好。
答案 3 :(得分:0)
这是我从搜索中得到的
jQuery选择器不是 名称空间感知,所以他们只使用 getElementsByTagName(而不是 getElementsByTagNameNS)来检索 nodeName属性的元素 (而不是localName和 的namespaceURI)。
看起来您需要使用document.getElementsByTagNameNS(namespace, tagname)