jQuery:无法读取xml元素值

时间:2013-01-08 19:42:32

标签: jquery xml xml-parsing

这是我的js代码:

$(document).ready( function(){
        $.ajax({
        type: "GET",
        url: "vector.xml",
        dataType: "xml",
        success: function(xml) {
                            $(xml).find('Vector').each(function() {
                            //var attrVal = $(this).find('VectorType').attr('tc');
                            var intialVal = $('this').find('InitialValue').text();
                            var attrVal = $(this).find('VectorMode').attr('tc');
                            alert(intialVal);

                        }); 
                }
            });
    });

XML看起来像这样:

<Values>
        <Result>
          <ResultBasis>
            <Vector>
              <VectorType tc="71"></VectorType>
              <VectorBaseDate>2012-06-16</VectorBaseDate>
              <InitialValue>150000</InitialValue>
            </Vector>
            <Vector tc="T20V09">
              <VectorType tc="71"></VectorType>
              <VectorBaseDate>2012-06-16</VectorBaseDate>
              <InitialValue>150000</InitialValue>
            </Vector>
            <Vector>
              <VectorType tc="5"></VectorType>
              <VectorBaseDate>2012-06-16</VectorBaseDate>
              <VectorMode tc="4"></VectorMode>
              <InitialValue>102.47</InitialValue>
            </Vector>
            <Vector>
              <VectorType tc="5"></VectorType>
              <VectorBaseDate>2012-06-16</VectorBaseDate>
              <VectorMode tc="3"></VectorMode>
              <InitialValue>307.42</InitialValue>
            </Vector>

在这里,我可以归因VectorTypeVectorMode元素的值,但InitialValueVectorBaseDate元素值没有运气。

alert(var intialVal = $('this').find('InitialValue').val());

给我undefined

alert(var intialVal = $('this').find('InitialValue').text());

给了我空的警报声明。

Note: <script src="jquery-1.8.1.min.js"></script>

2 个答案:

答案 0 :(得分:0)

我不确定jQuery版本,但我知道在Javascript中你正在寻找nodeValue。

答案 1 :(得分:0)

尝试使用this代替'this'

var intialVal = $(this).find('InitialValue').text();