Find xml attribute values with javascript

前端 未结 2 1645
野趣味
野趣味 2021-01-14 03:18

How do I get the attribute value of an XML node with Javascript / jQuery?

I\'m trying to get the value of the duration attribute on the node, then get the fixedValu

相关标签:
2条回答
  • 2021-01-14 04:00

    The first problem I ran into is that currLoadXml is not a string. It needs to be wrapped inside single quotes.

    Try using the below method

    var currentLoanRates = function() {
        var currLoanXml = '<loanAmount><interestRates><interestRate allowInterestOnly="true" type="variable" value="5.82"/><interestRate allowFixed="true" allowInterestOnly="true" duration="1" fixedInterestOnlyValue="5.7" fixedValue="5.7" variableInterestOnlyValue="5.82"/><interestRate allowFixed="true" allowInterestOnly="true" duration="3" fixedInterestOnlyValue="5.75" fixedValue="5.75" variableInterestOnlyValue="5.82"/><interestRate allowFixed="true" allowInterestOnly="true" duration="5" fixedInterestOnlyValue="6.64" fixedValue="6.56" variableInterestOnlyValue="5.82"/><interestRate allowFixed="true" allowInterestOnly="true" duration="10" variableInterestOnlyValue="5.82"/></interestRates></loanAmount>',
        xmlDoc = $.parseXML( currLoanXml ),
        $xml = $( xmlDoc ),
        $intRate = $xml.find("interestRate");
        $intRate.each(function(index, element) { 
            if(element.attributes["duration"]) {
                console.log("Duration :" + element.attributes["duration"].value);
            }
    
            if(element.attributes["fixedValue"]) {
                console.log("Fixed value:" + element.attributes["fixedValue"].value);
            }
        });
    
    };
    
    0 讨论(0)
  • 2021-01-14 04:15

    For those looking out for loading the XML from an external file, this could be of some help:

    <script>
        $.ajax({
            url: 'sample.xml',
            dataType: 'xml',
            success: function (data) {
                // Extract relevant data from XML
                var xml_node = $('loanAmount', data);
                $parameter = xml_node.find('interestRate');
                $parameter.each(function (index, element) {
                    if (element.attributes["allowFixed"]) {
                        console.log("Allow Fixed : " + element.attributes["allowFixed"].value);
                    }
    
                    if (element.attributes["duration"]) {
                        console.log("Duration: " + element.attributes["duration"].value);
                    }
                });
            },
            error: function (data) {
                console.log('Error loading XML data');
            }
        });
    </script>
    
    0 讨论(0)
提交回复
热议问题