0

これが私の完全なコードです:-

<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script>
        var xml;
        $.get(
        "xml_converted.xml",
        null,
        function (data) {
            xml = data;
        },
        "xml"
    );

        function get_node(ls)
        {
         var elName = $('#select').val();
         var value = $('#value').val();

        var xPath = '//*[translate(translate(translate("' + elName + '","-","")," ",""),":","") '+ ls +' translate(translate(translate(@value,"-","")," ",""),":","")]/../../@value';

         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);
            if (str == null || str == "")
            return false;
            else
            return true;
        }
    </script>
</head>
<body>
    <input type="text" id="select">
    <input type="text" id="value">
    <input type="button" value="Less than" onclick="get_node('>')">
    <input type="button" value="Grater than" onclick="get_node('<')">
    <input type="button" value="Equal" onclick="get_node('=')">
    <div id="result">
    </div>
</body>
</html>

これは私のxmlフィールドのサンプルです:-

    <products>
      <product_id value="1">
        <tab_id value="351">
          <tab_name value="test1"/>
          <dist_region value="5,5068,5069"/>
          <reg_str_dt value="2013-01-14 20:35:00"/>
          <individual_strdt value="2013-01-14 20:35:00"/>
        </tab_id>
      </product_id>
      <product_id value="2">
        <tab_id value="352">
          <tab_name value="test2"/>
          <dist_region value="5,5069,5070"/>
          <reg_str_dt value="2013-01-14 20:35:00"/>
          <individual_strdt value="2013-01-14 20:35:00"/>
        </tab_id>
      </product_id>
   </productS>

私のxmlファイルには1つのタブがdist_region_value="5,5069,5070"あり、これをチェックするためのこのタイプの値が1つのxpathを持っています:-

var xPath = '//*[contains(concat(@value, ","),"' + elName+ ',")]/../../@value';

そして別のxpathクエリは:-

var xPath = '//*[translate(translate(translate("' + elName + '","-","")," ",""),":","") '+ ls +' translate(translate(translate(@value,"-","")," ",""),":","")]/../../@value';

1つのクエリで両方を設定するにはどうすればよいですか?

ありがとう...

4

1 に答える 1

0

これはどう:

var xPath = '//*[contains(concat(@value, ","), "' + elNname+ ',") and ' + 
                ' translate("' + elName + '"," -:","") '+ ls + 
                ' translate(@value," -:","")]/../../@value';

ここに示すように、複数の翻訳を一緒にネストする必要もありません。

于 2013-03-14T12:52:56.663 に答える