使用JavaScript从XML节点检索内部文本时出现问题
我正在使用JavaScript和jQuery阅读一个XML文档,需要从节点中提取一些文本以保存到数组中。XML的结构如下所示:使用JavaScript从XML节点检索内部文本时出现问题,javascript,jquery,xml,Javascript,Jquery,Xml,我正在使用JavaScript和jQuery阅读一个XML文档,需要从节点中提取一些文本以保存到数组中。XML的结构如下所示: <C> <I> <TEXTFORMAT> <P> <FONT>Here's the text I want</FONT> </P> </TEXTFORMAT> </I> </C> 这
<C>
<I>
<TEXTFORMAT>
<P>
<FONT>Here's the text I want</FONT>
</P>
</TEXTFORMAT>
</I>
</C>
这是我想要的文本
到目前为止,我尝试的所有操作都没有返回任何结果,因此我一定是错误地引用了字体标记的内容
我应该使用什么XML路径?这将为您提供
FONT
节点的内容数组
function parseXml(xml)
{
//find every FONT element and store its value
$(xml).find("FONT").each(function()
{
// put this.text() into the array
});
}
var array = $(xml).find('FONT').map(function() {
return $(this).text();
}).get();
相关jQuery文档:
-.map()
-.text()
-.get()
-.find()
$(xml).find('TEXTFORMAT P FONT').text()
不起作用?这确实起作用,但是它检索xml中每个字体标记的内容,我需要它只检索它当前查看的节点的内容。我应该改变什么??哎哟你试过什么?听起来$(“font”)在这种情况下可以正常工作。“它当前正在查看的节点的内容”是什么意思?它是什么?它为什么盯着你的节点?@JackRoscoe-如果你已经在处理XML文档的各个部分,那么你也可以使用jQuery来处理这些部分,而不是整个文档。因此,不要使用$(myEntireXmlDoc).find(…)
,而是使用$(上下文查找).find(…)
。此外,如果您已经在处理原始XML对象,则应该能够像下面这样深入到文本:theXmlIAmLookingAt.getElementsByTagName('font')[0].firstChild.nodeValue
。