-1

我似乎无法访问以下 XML 子/节点:

<quotation>
<length category="3month">
  <newprice>test1</newprice>
  <save><?php echo number_format((($ThreeMonthPrice*12)+35),2)?></save>
  <payments><?php echo number_format($ThreeMonthPrice,2)?></payments>
  <price><?php echo number_format($ThreeMonthPrice,2)?></price>
</length>
<length category="6month">
  <newprice>test1</newprice>
  <save><?php echo number_format((($SixMonthPrice*12)+35),2)?></save>
  <payments><?php echo number_format($SixMonthPrice,2)?></payments>
  <price><?php echo number_format($SixMonthPrice,2)?></price>
</length>
</quotation>

这是我的 jQuery 代码:

ThreeMonthPrice=data.getElementsByTagName("price")[0].childNodes[0].nodeValue;
SixMonthPrice=data.getElementsByTagName("price")[1].childNodes[0].nodeValue;

谁能发现我哪里出错了?

我在控制台中收到以下错误:

无法读取未定义的属性“childNodes”

谢谢,


设法解决了这个问题,我不得不使用许多 getElementsByTagName。

现在一切正常。

4

1 回答 1

0

您的问题是您将 XML 文件内容用作 html,并且在 jsfiddle 的结果框中显示您的 xml 内容而不是您的 javascript 代码的结果,并且在控制台中您可以看到未定义错误数据

我尝试修复它,首先我不编辑 jsfiddle 中包含您的 xml 文件内容的 html 框,并且 jsfiddle 在结果框中的 body 标记中写入所有代码,然后如果我获得 body 的内容,我将所有 xml 内容作为字符串,然后我使用一点 javascript 函数将字符串内容转换为 xml 内容,然后我使用您的查询来查找价格标签,然后将其写入正文。

function StringtoXML(text){
                if (window.ActiveXObject){
                  var doc=new ActiveXObject('Microsoft.XMLDOM');
                  doc.async='false';
                  doc.loadXML(text);
                } else {
                  var parser=new DOMParser();
                  var doc=parser.parseFromString(text,'text/xml');
                }
                return doc;
            }

    //example of application:
    var doc = StringtoXML($(document.body).html());

ThreeMonthPrice=doc.getElementsByTagName("price")[0].childNodes[0].nodeValue;

$(document.body).html("&pound;"+ThreeMonthPrice);

在这里查看http://jsfiddle.net/FG9Nz/2/

于 2013-06-17T21:08:02.640 回答