首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在IE8中获取XML节点的文本值?

如何在IE8中获取XML节点的文本值?
EN

Stack Overflow用户
提问于 2014-12-30 02:56:01
回答 1查看 1.5K关注 0票数 1

所以我有一个XML提要,它返回一堆结果。首先,我创建一个outlined in faino's answer here解析器。

XML解析得很好。每个结果都是这样的:

代码语言:javascript
运行
复制
<result>
 <title>some title</title>
 <bid>0.05123</bid>
 <description>some desc</description>
</result>

所以我有:

代码语言:javascript
运行
复制
// 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"

但问题是,我已经尝试了所有可以想象到的内部文本:textConentinnerTextinnerHTMLnodeValue --它们似乎都没有在IE8中工作。

在使用.textContent的Chrome / FF中,相同的脚本运行得非常好

帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-30 03:41:47

跨浏览器向后兼容脚本:

代码语言:javascript
运行
复制
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.");
    }
}

在我自己检索XML的AJAX调用中,我总是使用这个函数来检索节点的内容。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27699057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档