如何在IE8中获取XML节点的文本值
How to get the text value of an XML node in IE8?
所以我有一个返回一堆结果的XML提要。首先,我创建一个XML解析器,如faino的回答中所述。
XML 解析得很好。每个结果如下所示:
<result>
<title>some title</title>
<bid>0.05123</bid>
<description>some desc</description>
</result>
所以我有:
// parse
var xmlParser = returnXMLParser();
var resultsDoc = xmlParser(adXML.responseData); // #document
var listings = resultsDoc.getElementsByTagName('listing'); // returns 8-10
// get title node
var title = listings[0].getElementsByTagName('title')[0];
title.nodeType // 1
title.nodeName // "title"
但问题是,我已经尝试了所有可以想象的属性来获取内部文本:textConent
、innerText
、innerHTML
、nodeValue
- 它们似乎都不适用于 IE8。
相同的脚本在Chrome/FF中使用.textContent
运行良好
帮助!
一个跨浏览器向后兼容的脚本:
function getXMLContent(obj,action)
{
//cross-browser get and set for xmlContent
if (obj)
{
if (action == "get") //get
{
if(obj.textContent)
{
return obj.textContent;
}
else
{
return obj.text;
}
}
else //set
{
if(obj.textContent)
{
obj.textContent = action;
}
else
{
obj.text = action;
}
}
}
else
{
throw new Error("XML-Element doesn't exist.");
}
}
在我自己的 AJAX 调用中,我检索 XML,我总是使用此函数来检索节点的内容。
相关文章:
- Javascript,将文本添加到具有现有文本节点的元素中
- 拆分文本节点
- 使用TreeWalker检索非Javascript文本节点
- JSTree's data.rslt.obj.text()返回一个文本数组,而不是所需节点的文本
- jquery在元素中查找文本节点,并使用标记进行连接和包装
- JavaScript 文本节点属性
- 如何在所有节点中获取页面的文本
- 根据类型更改 jstree 节点文本颜色
- 获取xml节点文本
- 如何在JavaScript中使用主节点文本对json对象进行排序
- 如何通过按钮单击和鼠标悬停/鼠标退出显示和隐藏节点文本?D3/JS.
- 在 jsTree 中,使节点文本可单击的最佳方法是什么(用于选中复选框)
- Javascript DOM,在不丢失间距信息的情况下获取节点文本
- 更改文本节点文本
- 正在更改jsTree中的节点文本
- 函数,用于比较DOM树中的两个节点文本
- 谷歌图表Sankey -节点文本样式
- 如何在JavaScript中将DOM节点文本值转换为UTF-8
- 不能改变js节点文本的颜色
- 如何在 arbor js 中为每个节点文本添加新行字符