Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在IE8中获取XML节点的文本值?_Javascript_Xml_Internet Explorer 8_Nodes - Fatal编程技术网

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

Javascript 如何在IE8中获取XML节点的文本值?,javascript,xml,internet-explorer-8,nodes,Javascript,Xml,Internet Explorer 8,Nodes,所以我有一个XML提要,它返回一系列结果。首先,我创建了一个XML解析器 XML解析得很好。每个结果如下所示: <result> <title>some title</title> <bid>0.05123</bid> <description>some desc</description> </result> 但问题是,我尝试了所有可以想象得到的属性来获取内部文本:textcont,inne

所以我有一个XML提要,它返回一系列结果。首先,我创建了一个XML解析器

XML解析得很好。每个结果如下所示:

<result>
 <title>some title</title>
 <bid>0.05123</bid>
 <description>some desc</description>
</result>
但问题是,我尝试了所有可以想象得到的属性来获取内部文本:
textcont
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.");
    }
}

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

跨浏览器向后兼容的脚本:

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调用中,我总是使用此函数检索节点的内容。

尝试
title.childNodes[0]。nodeValue
内部的另一个textNode?呸,那真是浪费了20分钟……title.text应该在IE8中完成,你考虑过使用jQuery吗?它应该提供一种跨浏览器的方式来解析该XML和
$(节点)。text()
应该可以很好地获取节点的文本内容。@JLRishe很遗憾,无法将jQuery用于此项目请尝试
title.childNodes[0]。nodeValue
内部的另一个textNode?呸,那真是浪费了20分钟……title.text应该在IE8中完成,你考虑过使用jQuery吗?它应该提供一种跨浏览器的方式来解析XML和
$(节点)。text()
应该可以很好地获取节点的文本内容。@JLRishe很遗憾,无法将jQuery用于此项目