检查xml文件中的元素值

时间:2013-03-21 07:12:57

标签: javascript html xml xpath

这是我的xml: -

<results>
    <result>
        <Country_Code>IN</Country_Code>
        <Country_Name>India</Country_Name>
        <Region_Name>Gujarat</Region_Name>
        <City>Rajkot</City> 
        <lat>13.060422</lat>
        <lng>80.24958300000003</lng>
    </result>
    <result>
        <Country_Code>KE</Country_Code>
        <Country_Name>Kenya</Country_Name>
        <Region_Name>Vihiga</Region_Name>
        <City>Kakamega</City> 
        <lat>0.1182473</lat>
        <lng>34.7334515999997</lng>
    </result>
</results>

这是脚本: -

<script>
    var xml;
    $.get(
        "sea.xml",
        null,
        function (data) {
            xml = data;
        },
        "xml"
    );
    function get_list(ls) {
        var elName = $('#select').val();
        var value = $('#value').val();
        var xPath = '//lat[@value '+ ls +' "'+elName+'"]'and  var xPathh='//lng[@value '+ ls +' '+value+']'+'/../City/@value';
        var xPath = '//[lat = ('+ elName+') and lng = ('+ value +')]'+'/result';

        var iterator = xml.evaluate(xPath, xml.documentElement, null,
            XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
        var thisNode = iterator.iterateNext();
        var str = '';
        while (thisNode) {
            if (str) {
                str += ', ';
            }
            str += thisNode.textContent;
            thisNode = iterator.iterateNext();
        }

        $("#result").text(str);
    }
</script>

这是html代码: -

<body>
    <input type="text" id="select">
    <input type="text" id="value">
    <input type="button" name="button" value="Search" onclick="get_list('=')">
    <div id="result">
    </div>
</body>

我有两个文本框: -

在第一个文本框中输入纬度值13.060422(在我的xml文件中)

在第二个文本框中输入经度值80.24958300000003(在我的xml文件中)

然后两者都匹配我的xml元素值返回所有兄弟值,如

IN India Gujarat Rajkot 13.060422 80.24958300000003

感谢

1 个答案:

答案 0 :(得分:2)

当你使用jquery试试这个

<强> DEMO

var xml = "<results><result><Country_Code>IN</Country_Code><Country_Name>India</Country_Name><Region_Name>Gujarat</Region_Name><City>Rajkot</City><lat>13.060422</lat><lng>80.24958300000003</lng></result><result><Country_Code>KE</Country_Code><Country_Name>Kenya</Country_Name><Region_Name>Vihiga</Region_Name><City>Kakamega</City><lat>0.1182473</lat><lng>34.7334515999997</lng></result></results>";


xmlDoc = $.parseXML( xml );
$xml = $( xmlDoc );
function get_list(ls){
   $lat = $("#select").val();
   $lng = $("#value").val();
   $title = $xml.find( "lat:contains('"+$lat+"')" ).closest('result');    
   $t = $title.find("lng:contains('"+$lng+"')").closest('result');    
   $str = $t.contents().map(function(){
       return $(this).contents().eq(0).text();
   }).get().join(' ');

   $("#result").text($str);
}